balvig/spyke

Status of the Gem? 5 months without any new commits..

Closed this issue ยท 6 comments

Hello,

You discuss the motivation of building this Gem part because of the lack of activity on Her side - which I'll agree - but I now wonder the status of Spyke since last commit date from October which about the same as Her..

Thank you for letting us know,

Guillaume.

๐Ÿ˜„ hehe, by "activity" I mostly referred to not getting responses on PRs/issues (looks like it's picked up since!). I'm hoping I'm doing a somewhat decent job of responding to everyone (although I should do something about those 3 open PRs!), including this ๐Ÿ˜‰

I am still using Spyke in production on a large project, just honestly haven't found a need to change/fix anything the past 5 months! (I'm sure there must be lots of edge cases I haven't bumped into though ๐ŸŽฑ )

Great to see it's more than active then and thank you for your quick reply!

FYI we are using Her on a big production app today but we are considering switching for our next major release - we have/had important performance concern with Her around object serialization and I remember back then in the project some people talked about Spyke as an alternative..

Thank you.

Cheers!

Performance was a huge issue for us as well with her ๐Ÿ˜ข It was actually the main reason for creating another solution! (and then we took the opportunity to fix other things that had been giving us problems).

Good luck with your app in any case! ๐ŸŽ‰

@balvig Is there any kind of migration guide for users coming from her? I have a large production system I need to migrate from her to spyke, and I don't know what I don't know.

Hi @pboling!

I can see how that could be useful, but unfortunately there isn't really a guide as such. ๐Ÿ™‡

At it's most basic, it's matter of replacing

Her::API.setup url: "https://api.com" do |c|
  # ...
end

with:

Spyke::Base.connection = Faraday.new(url: "https://api.com") do |c|
  #...
end

...and

class Post
  include Her::Model
end

with:

class Post < Spyke::Base
  # ...
end

However, while her was definitely the starting point for this gem, it's not really a 1:1 replacement, the API/feature set provided by the two are slightly different, and I haven't really tracked the progress of her since to know where the two diverge today.

Your project sounds exciting and I wish I could just point you to a section in the docs, but failing that, I'd love to help answer any questions that might come up along the way. Perhaps the outcome could be actually writing such a guide! ๐Ÿ˜‰

@balvig Thanks for the pointers. When I do the switch, I'll document what I can so we can use it as the start of a migration guide. โค๏ธ And I'll post questions to you/issues when I get stuck!