her 0.10.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.travis.yml +3 -3
 - data/README.md +4 -6
 - data/her.gemspec +2 -2
 - data/lib/her/model/associations/has_many_association.rb +1 -1
 - data/lib/her/model/attributes.rb +30 -22
 - data/lib/her/model/introspection.rb +1 -1
 - data/lib/her/model/orm.rb +56 -52
 - data/lib/her/model/parse.rb +17 -4
 - data/lib/her/model/relation.rb +1 -1
 - data/lib/her/version.rb +1 -1
 - data/spec/model/associations_spec.rb +564 -328
 - data/spec/model/attributes_spec.rb +8 -8
 - data/spec/model/callbacks_spec.rb +1 -1
 - data/spec/model/dirty_spec.rb +41 -1
 - data/spec/model/introspection_spec.rb +1 -1
 - data/spec/model/orm_spec.rb +22 -4
 - data/spec/model/parse_spec.rb +151 -0
 - data/spec/model/relation_spec.rb +14 -2
 - metadata +11 -11
 
| 
         @@ -204,7 +204,7 @@ describe Her::Model::Attributes do 
     | 
|
| 
       204 
204 
     | 
    
         | 
| 
       205 
205 
     | 
    
         
             
                    spawn_model "Foo::User" do
         
     | 
| 
       206 
206 
     | 
    
         
             
                      def document
         
     | 
| 
       207 
     | 
    
         
            -
                         
     | 
| 
      
 207 
     | 
    
         
            +
                        self.attributes[:document][:url]
         
     | 
| 
       208 
208 
     | 
    
         
             
                      end
         
     | 
| 
       209 
209 
     | 
    
         
             
                    end
         
     | 
| 
       210 
210 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -229,7 +229,7 @@ describe Her::Model::Attributes do 
     | 
|
| 
       229 
229 
     | 
    
         | 
| 
       230 
230 
     | 
    
         
             
                    spawn_model "Foo::User" do
         
     | 
| 
       231 
231 
     | 
    
         
             
                      def document=(document)
         
     | 
| 
       232 
     | 
    
         
            -
                        @ 
     | 
| 
      
 232 
     | 
    
         
            +
                        @_her_attributes[:document] = document[:url]
         
     | 
| 
       233 
233 
     | 
    
         
             
                      end
         
     | 
| 
       234 
234 
     | 
    
         
             
                    end
         
     | 
| 
       235 
235 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -288,19 +288,19 @@ describe Her::Model::Attributes do 
     | 
|
| 
       288 
288 
     | 
    
         
             
                  it { is_expected.to respond_to(:fullname?) }
         
     | 
| 
       289 
289 
     | 
    
         
             
                end
         
     | 
| 
       290 
290 
     | 
    
         | 
| 
       291 
     | 
    
         
            -
                it "defines setter that affects  
     | 
| 
      
 291 
     | 
    
         
            +
                it "defines setter that affects attributes" do
         
     | 
| 
       292 
292 
     | 
    
         
             
                  user = Foo::User.new
         
     | 
| 
       293 
293 
     | 
    
         
             
                  user.fullname = "Tobias Fünke"
         
     | 
| 
       294 
294 
     | 
    
         
             
                  expect(user.attributes[:fullname]).to eq("Tobias Fünke")
         
     | 
| 
       295 
295 
     | 
    
         
             
                end
         
     | 
| 
       296 
296 
     | 
    
         | 
| 
       297 
     | 
    
         
            -
                it "defines getter that reads  
     | 
| 
      
 297 
     | 
    
         
            +
                it "defines getter that reads attributes" do
         
     | 
| 
       298 
298 
     | 
    
         
             
                  user = Foo::User.new
         
     | 
| 
       299 
299 
     | 
    
         
             
                  user.assign_attributes(fullname: "Tobias Fünke")
         
     | 
| 
       300 
300 
     | 
    
         
             
                  expect(user.fullname).to eq("Tobias Fünke")
         
     | 
| 
       301 
301 
     | 
    
         
             
                end
         
     | 
| 
       302 
302 
     | 
    
         | 
| 
       303 
     | 
    
         
            -
                it "defines predicate that reads  
     | 
| 
      
 303 
     | 
    
         
            +
                it "defines predicate that reads attributes" do
         
     | 
| 
       304 
304 
     | 
    
         
             
                  user = Foo::User.new
         
     | 
| 
       305 
305 
     | 
    
         
             
                  expect(user.fullname?).to be_falsey
         
     | 
| 
       306 
306 
     | 
    
         
             
                  user.assign_attributes(fullname: "Tobias Fünke")
         
     | 
| 
         @@ -335,19 +335,19 @@ describe Her::Model::Attributes do 
     | 
|
| 
       335 
335 
     | 
    
         
             
                    expect(Foo::User.generated_attribute_methods.instance_methods).to include(:fullname?)
         
     | 
| 
       336 
336 
     | 
    
         
             
                  end
         
     | 
| 
       337 
337 
     | 
    
         | 
| 
       338 
     | 
    
         
            -
                  it "defines setter that affects  
     | 
| 
      
 338 
     | 
    
         
            +
                  it "defines setter that affects attributes" do
         
     | 
| 
       339 
339 
     | 
    
         
             
                    user = Foo::User.new
         
     | 
| 
       340 
340 
     | 
    
         
             
                    user.fullname = "Tobias Fünke"
         
     | 
| 
       341 
341 
     | 
    
         
             
                    expect(user.attributes[:fullname]).to eq("Tobias Fünke")
         
     | 
| 
       342 
342 
     | 
    
         
             
                  end
         
     | 
| 
       343 
343 
     | 
    
         | 
| 
       344 
     | 
    
         
            -
                  it "defines getter that reads  
     | 
| 
      
 344 
     | 
    
         
            +
                  it "defines getter that reads attributes" do
         
     | 
| 
       345 
345 
     | 
    
         
             
                    user = Foo::User.new
         
     | 
| 
       346 
346 
     | 
    
         
             
                    user.attributes[:fullname] = "Tobias Fünke"
         
     | 
| 
       347 
347 
     | 
    
         
             
                    expect(user.fullname).to eq("Tobias Fünke")
         
     | 
| 
       348 
348 
     | 
    
         
             
                  end
         
     | 
| 
       349 
349 
     | 
    
         | 
| 
       350 
     | 
    
         
            -
                  it "defines predicate that reads  
     | 
| 
      
 350 
     | 
    
         
            +
                  it "defines predicate that reads attributes" do
         
     | 
| 
       351 
351 
     | 
    
         
             
                    user = Foo::User.new
         
     | 
| 
       352 
352 
     | 
    
         
             
                    expect(user.fullname?).to be_falsey
         
     | 
| 
       353 
353 
     | 
    
         
             
                    user.attributes[:fullname] = "Tobias Fünke"
         
     | 
| 
         @@ -58,7 +58,7 @@ describe "Her::Model and ActiveModel::Callbacks" do 
     | 
|
| 
       58 
58 
     | 
    
         
             
                    end
         
     | 
| 
       59 
59 
     | 
    
         
             
                  end
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
                  it "should call the server with the  
     | 
| 
      
 61 
     | 
    
         
            +
                  it "should call the server with the changed value" do
         
     | 
| 
       62 
62 
     | 
    
         
             
                    expect(subject.name).to eq("Tobias Funke")
         
     | 
| 
       63 
63 
     | 
    
         
             
                    subject.save
         
     | 
| 
       64 
64 
     | 
    
         
             
                    expect(subject.name).to eq("Lumberjack")
         
     | 
    
        data/spec/model/dirty_spec.rb
    CHANGED
    
    | 
         @@ -8,16 +8,24 @@ describe "Her::Model and ActiveModel::Dirty" do 
     | 
|
| 
       8 
8 
     | 
    
         
             
                    builder.use Her::Middleware::FirstLevelParseJSON
         
     | 
| 
       9 
9 
     | 
    
         
             
                    builder.use Faraday::Request::UrlEncoded
         
     | 
| 
       10 
10 
     | 
    
         
             
                    builder.adapter :test do |stub|
         
     | 
| 
      
 11 
     | 
    
         
            +
                      stub.get("/users")   { [200, {}, [{ id: 1, fullname: "Lindsay Fünke" }, { id: 2, fullname: "Maeby Fünke" }].to_json] }
         
     | 
| 
       11 
12 
     | 
    
         
             
                      stub.get("/users/1") { [200, {}, { id: 1, fullname: "Lindsay Fünke" }.to_json] }
         
     | 
| 
       12 
13 
     | 
    
         
             
                      stub.get("/users/2") { [200, {}, { id: 2, fullname: "Maeby Fünke" }.to_json] }
         
     | 
| 
       13 
14 
     | 
    
         
             
                      stub.get("/users/3") { [200, {}, { user_id: 3, fullname: "Maeby Fünke" }.to_json] }
         
     | 
| 
       14 
15 
     | 
    
         
             
                      stub.put("/users/1") { [200, {}, { id: 1, fullname: "Tobias Fünke" }.to_json] }
         
     | 
| 
       15 
16 
     | 
    
         
             
                      stub.put("/users/2") { [400, {}, { errors: ["Email cannot be blank"] }.to_json] }
         
     | 
| 
       16 
17 
     | 
    
         
             
                      stub.post("/users")  { [200, {}, { id: 1, fullname: "Tobias Fünke" }.to_json] }
         
     | 
| 
      
 18 
     | 
    
         
            +
                      stub.get("/users/1/posts") { [200, {}, [{ id: 1, user_id: 1, body: "Hello" }].to_json] }
         
     | 
| 
      
 19 
     | 
    
         
            +
                      stub.get("/users/1/posts/1") { [200, {}, { id: 1, user_id: 1, body: "Hello" }.to_json] }
         
     | 
| 
       17 
20 
     | 
    
         
             
                    end
         
     | 
| 
       18 
21 
     | 
    
         
             
                  end
         
     | 
| 
       19 
22 
     | 
    
         | 
| 
      
 23 
     | 
    
         
            +
                  spawn_model "Foo::Post" do
         
     | 
| 
      
 24 
     | 
    
         
            +
                    belongs_to :user
         
     | 
| 
      
 25 
     | 
    
         
            +
                    attributes :body
         
     | 
| 
      
 26 
     | 
    
         
            +
                  end
         
     | 
| 
       20 
27 
     | 
    
         
             
                  spawn_model "Foo::User" do
         
     | 
| 
      
 28 
     | 
    
         
            +
                    has_many :posts
         
     | 
| 
       21 
29 
     | 
    
         
             
                    attributes :fullname, :email
         
     | 
| 
       22 
30 
     | 
    
         
             
                  end
         
     | 
| 
       23 
31 
     | 
    
         
             
                  spawn_model "Dynamic::User" do
         
     | 
| 
         @@ -74,6 +82,32 @@ describe "Her::Model and ActiveModel::Dirty" do 
     | 
|
| 
       74 
82 
     | 
    
         
             
                  end
         
     | 
| 
       75 
83 
     | 
    
         
             
                end
         
     | 
| 
       76 
84 
     | 
    
         | 
| 
      
 85 
     | 
    
         
            +
                context "for an existing resource from an association" do
         
     | 
| 
      
 86 
     | 
    
         
            +
                  let(:post) { Foo::User.find(1).posts.find(1) }
         
     | 
| 
      
 87 
     | 
    
         
            +
                  it "has no changes" do
         
     | 
| 
      
 88 
     | 
    
         
            +
                    expect(post.changes).to be_empty
         
     | 
| 
      
 89 
     | 
    
         
            +
                    expect(post).to_not be_changed
         
     | 
| 
      
 90 
     | 
    
         
            +
                  end
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
                context "for an existing resource from an association collection" do
         
     | 
| 
      
 94 
     | 
    
         
            +
                  let(:post) { Foo::User.find(1).posts.first }
         
     | 
| 
      
 95 
     | 
    
         
            +
                  it "has no changes" do
         
     | 
| 
      
 96 
     | 
    
         
            +
                    expect(post.changes).to be_empty
         
     | 
| 
      
 97 
     | 
    
         
            +
                    expect(post).to_not be_changed
         
     | 
| 
      
 98 
     | 
    
         
            +
                  end
         
     | 
| 
      
 99 
     | 
    
         
            +
                end
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                context "for resources from a collection" do
         
     | 
| 
      
 102 
     | 
    
         
            +
                  let(:users) { Foo::User.all.fetch }
         
     | 
| 
      
 103 
     | 
    
         
            +
                  it "has no changes" do
         
     | 
| 
      
 104 
     | 
    
         
            +
                    users.each do |user|
         
     | 
| 
      
 105 
     | 
    
         
            +
                      expect(user.changes).to be_empty
         
     | 
| 
      
 106 
     | 
    
         
            +
                      expect(user).to_not be_changed
         
     | 
| 
      
 107 
     | 
    
         
            +
                    end
         
     | 
| 
      
 108 
     | 
    
         
            +
                  end
         
     | 
| 
      
 109 
     | 
    
         
            +
                end
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
       77 
111 
     | 
    
         
             
                context "for new resource" do
         
     | 
| 
       78 
112 
     | 
    
         
             
                  let(:user) { Foo::User.new(fullname: "Lindsay Fünke") }
         
     | 
| 
       79 
113 
     | 
    
         
             
                  it "has changes" do
         
     | 
| 
         @@ -87,6 +121,12 @@ describe "Her::Model and ActiveModel::Dirty" do 
     | 
|
| 
       87 
121 
     | 
    
         
             
                    expect(user).not_to be_changed
         
     | 
| 
       88 
122 
     | 
    
         
             
                  end
         
     | 
| 
       89 
123 
     | 
    
         
             
                end
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                context "for a new resource from an association" do
         
     | 
| 
      
 126 
     | 
    
         
            +
                  let(:post) { Foo::User.find(1).posts.build }
         
     | 
| 
      
 127 
     | 
    
         
            +
                  it "has changes" do
         
     | 
| 
      
 128 
     | 
    
         
            +
                    expect(post).to be_changed
         
     | 
| 
      
 129 
     | 
    
         
            +
                  end
         
     | 
| 
      
 130 
     | 
    
         
            +
                end
         
     | 
| 
       90 
131 
     | 
    
         
             
              end
         
     | 
| 
       91 
132 
     | 
    
         
             
            end
         
     | 
| 
       92 
     | 
    
         
            -
            #
         
     | 
| 
         @@ -73,7 +73,7 @@ describe Her::Model::Introspection do 
     | 
|
| 
       73 
73 
     | 
    
         
             
                    expect(Foo::User.her_nearby_class("AccessRecord")).to eq(Foo::AccessRecord)
         
     | 
| 
       74 
74 
     | 
    
         
             
                    expect(AccessRecord.her_nearby_class("Log")).to eq(Log)
         
     | 
| 
       75 
75 
     | 
    
         
             
                    expect(Foo::User.her_nearby_class("Log")).to eq(Log)
         
     | 
| 
       76 
     | 
    
         
            -
                    expect 
     | 
| 
      
 76 
     | 
    
         
            +
                    expect{Foo::User.her_nearby_class("X")}.to raise_error(NameError)
         
     | 
| 
       77 
77 
     | 
    
         
             
                  end
         
     | 
| 
       78 
78 
     | 
    
         
             
                end
         
     | 
| 
       79 
79 
     | 
    
         
             
              end
         
     | 
    
        data/spec/model/orm_spec.rb
    CHANGED
    
    | 
         @@ -172,11 +172,11 @@ describe Her::Model::ORM do 
     | 
|
| 
       172 
172 
     | 
    
         | 
| 
       173 
173 
     | 
    
         
             
                    def friends=(val)
         
     | 
| 
       174 
174 
     | 
    
         
             
                      val = val.delete("\r").split("\n").map { |friend| friend.gsub(/^\s*\*\s*/, "") } if val && val.is_a?(String)
         
     | 
| 
       175 
     | 
    
         
            -
                      @ 
     | 
| 
      
 175 
     | 
    
         
            +
                      @_her_attributes[:friends] = val
         
     | 
| 
       176 
176 
     | 
    
         
             
                    end
         
     | 
| 
       177 
177 
     | 
    
         | 
| 
       178 
178 
     | 
    
         
             
                    def friends
         
     | 
| 
       179 
     | 
    
         
            -
                      @ 
     | 
| 
      
 179 
     | 
    
         
            +
                      @_her_attributes[:friends].map { |friend| "* #{friend}" }.join("\n")
         
     | 
| 
       180 
180 
     | 
    
         
             
                    end
         
     | 
| 
       181 
181 
     | 
    
         
             
                  end
         
     | 
| 
       182 
182 
     | 
    
         
             
                end
         
     | 
| 
         @@ -185,7 +185,7 @@ describe Her::Model::ORM do 
     | 
|
| 
       185 
185 
     | 
    
         
             
                  @user = User.find(1)
         
     | 
| 
       186 
186 
     | 
    
         
             
                  expect(@user.friends).to eq("* Maeby\n* GOB\n* Anne")
         
     | 
| 
       187 
187 
     | 
    
         
             
                  @user.instance_eval do
         
     | 
| 
       188 
     | 
    
         
            -
                    @ 
     | 
| 
      
 188 
     | 
    
         
            +
                    @_her_attributes[:friends] = %w(Maeby GOB Anne)
         
     | 
| 
       189 
189 
     | 
    
         
             
                  end
         
     | 
| 
       190 
190 
     | 
    
         
             
                end
         
     | 
| 
       191 
191 
     | 
    
         | 
| 
         @@ -194,7 +194,7 @@ describe Her::Model::ORM do 
     | 
|
| 
       194 
194 
     | 
    
         
             
                  @user.friends = "* George\n* Oscar\n* Lucille"
         
     | 
| 
       195 
195 
     | 
    
         
             
                  expect(@user.friends).to eq("* George\n* Oscar\n* Lucille")
         
     | 
| 
       196 
196 
     | 
    
         
             
                  @user.instance_eval do
         
     | 
| 
       197 
     | 
    
         
            -
                    @ 
     | 
| 
      
 197 
     | 
    
         
            +
                    @_her_attributes[:friends] = %w(George Oscar Lucille)
         
     | 
| 
       198 
198 
     | 
    
         
             
                  end
         
     | 
| 
       199 
199 
     | 
    
         
             
                end
         
     | 
| 
       200 
200 
     | 
    
         
             
              end
         
     | 
| 
         @@ -491,12 +491,30 @@ describe Her::Model::ORM do 
     | 
|
| 
       491 
491 
     | 
    
         
             
                    builder.adapter :test do |stub|
         
     | 
| 
       492 
492 
     | 
    
         
             
                      stub.get("/users/1") { [200, {}, { id: 1, fullname: "Tobias Fünke", active: true }.to_json] }
         
     | 
| 
       493 
493 
     | 
    
         
             
                      stub.delete("/users/1") { [status, {}, { id: 1, fullname: "Lindsay Fünke", active: false }.to_json] }
         
     | 
| 
      
 494 
     | 
    
         
            +
             
     | 
| 
      
 495 
     | 
    
         
            +
                      stub.get("/child_users") { [200, {}, { data: [{ id: 1, name: "Tobias Fünke" }, { id: 2, name: "Lindsay Fünke" }], metadata: { total_pages: 10, next_page: 2 }, errors: %w(Oh My God) }.to_json] }
         
     | 
| 
      
 496 
     | 
    
         
            +
                      stub.get("/child_users") { |env| [200, {}, { :data => [{ :id => 1, :name => "Tobias Fünke" }, { :id => 2, :name => "Lindsay Fünke" }], :metadata => { :total_pages => 10, :next_page => 2 }, :errors => ["Oh", "My", "God"] }.to_json] }
         
     | 
| 
      
 497 
     | 
    
         
            +
                      stub.post("/child_users") { |env| [200, {}, { :data => { :name => "George Michael Bluth" }, :metadata => { :foo => "bar" }, :errors => ["Yes", "Sir"] }.to_json] }
         
     | 
| 
      
 498 
     | 
    
         
            +
                      stub.delete("/child_users/1") { |env| [200, {}, { :data => { :id => 1 }, :metadata => { :foo => "bar" }, :errors => ["Yes", "Sir"] }.to_json] }
         
     | 
| 
       494 
499 
     | 
    
         
             
                    end
         
     | 
| 
       495 
500 
     | 
    
         
             
                  end
         
     | 
| 
       496 
501 
     | 
    
         | 
| 
       497 
502 
     | 
    
         
             
                  spawn_model "Foo::User"
         
     | 
| 
       498 
503 
     | 
    
         
             
                end
         
     | 
| 
       499 
504 
     | 
    
         | 
| 
      
 505 
     | 
    
         
            +
                it "handles proper resource deletion on a child model class" do
         
     | 
| 
      
 506 
     | 
    
         
            +
                  child_user_klass = Class.new(Foo::User) do
         
     | 
| 
      
 507 
     | 
    
         
            +
                    def self.name
         
     | 
| 
      
 508 
     | 
    
         
            +
                      "ChildUser"
         
     | 
| 
      
 509 
     | 
    
         
            +
                    end
         
     | 
| 
      
 510 
     | 
    
         
            +
                  end
         
     | 
| 
      
 511 
     | 
    
         
            +
             
     | 
| 
      
 512 
     | 
    
         
            +
                  child_user_klass.destroy_existing(1)
         
     | 
| 
      
 513 
     | 
    
         
            +
                  @child_user = child_user_klass.create(name: "George Michael Bluth")
         
     | 
| 
      
 514 
     | 
    
         
            +
             
     | 
| 
      
 515 
     | 
    
         
            +
                  expect { @child_user.save! }.to raise_error(Her::Errors::ResourceInvalid)
         
     | 
| 
      
 516 
     | 
    
         
            +
                end
         
     | 
| 
      
 517 
     | 
    
         
            +
             
     | 
| 
       500 
518 
     | 
    
         
             
                it "handle resource deletion through the .destroy class method" do
         
     | 
| 
       501 
519 
     | 
    
         
             
                  @user = Foo::User.destroy_existing(1)
         
     | 
| 
       502 
520 
     | 
    
         
             
                  expect(@user.active).to be_falsey
         
     | 
    
        data/spec/model/parse_spec.rb
    CHANGED
    
    | 
         @@ -24,6 +24,21 @@ describe Her::Model::Parse do 
     | 
|
| 
       24 
24 
     | 
    
         
             
                    end
         
     | 
| 
       25 
25 
     | 
    
         
             
                  end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
      
 27 
     | 
    
         
            +
                  it "inherits attributes from parent class" do
         
     | 
| 
      
 28 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 29 
     | 
    
         
            +
                    end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                    expect(Foo::ChildUser).to be_include_root_in_json
         
     | 
| 
      
 32 
     | 
    
         
            +
                  end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                  it "allows `include_root_in_json` to be set to `false` on a child model" do
         
     | 
| 
      
 35 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 36 
     | 
    
         
            +
                      include_root_in_json false
         
     | 
| 
      
 37 
     | 
    
         
            +
                    end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                    expect(Foo::ChildUser).to_not be_include_root_in_json
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
       27 
42 
     | 
    
         
             
                  it "wraps params in the element name in `to_params`" do
         
     | 
| 
       28 
43 
     | 
    
         
             
                    @new_user = Foo::User.new(fullname: "Tobias Fünke")
         
     | 
| 
       29 
44 
     | 
    
         
             
                    expect(@new_user.to_params).to eq(user: { fullname: "Tobias Fünke" })
         
     | 
| 
         @@ -35,6 +50,29 @@ describe Her::Model::Parse do 
     | 
|
| 
       35 
50 
     | 
    
         
             
                  end
         
     | 
| 
       36 
51 
     | 
    
         
             
                end
         
     | 
| 
       37 
52 
     | 
    
         | 
| 
      
 53 
     | 
    
         
            +
                context "to false" do
         
     | 
| 
      
 54 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 55 
     | 
    
         
            +
                    spawn_model "Foo::User" do
         
     | 
| 
      
 56 
     | 
    
         
            +
                      include_root_in_json false
         
     | 
| 
      
 57 
     | 
    
         
            +
                    end
         
     | 
| 
      
 58 
     | 
    
         
            +
                  end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                  it "inherits attributes from parent class" do
         
     | 
| 
      
 61 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 62 
     | 
    
         
            +
                    end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                    expect(Foo::ChildUser).to_not be_include_root_in_json
         
     | 
| 
      
 65 
     | 
    
         
            +
                  end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                  it "allows `include_root_in_json` to be set to `true` on a child model" do
         
     | 
| 
      
 68 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 69 
     | 
    
         
            +
                      include_root_in_json true
         
     | 
| 
      
 70 
     | 
    
         
            +
                    end
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                    expect(Foo::ChildUser).to be_include_root_in_json
         
     | 
| 
      
 73 
     | 
    
         
            +
                  end
         
     | 
| 
      
 74 
     | 
    
         
            +
                end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
       38 
76 
     | 
    
         
             
                context "to a symbol" do
         
     | 
| 
       39 
77 
     | 
    
         
             
                  before do
         
     | 
| 
       40 
78 
     | 
    
         
             
                    spawn_model "Foo::User" do
         
     | 
| 
         @@ -64,6 +102,54 @@ describe Her::Model::Parse do 
     | 
|
| 
       64 
102 
     | 
    
         
             
                end
         
     | 
| 
       65 
103 
     | 
    
         
             
              end
         
     | 
| 
       66 
104 
     | 
    
         | 
| 
      
 105 
     | 
    
         
            +
              context "when `request_new_object_on_build` is set" do
         
     | 
| 
      
 106 
     | 
    
         
            +
                context "to true" do
         
     | 
| 
      
 107 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 108 
     | 
    
         
            +
                    spawn_model "Foo::User" do
         
     | 
| 
      
 109 
     | 
    
         
            +
                      request_new_object_on_build true
         
     | 
| 
      
 110 
     | 
    
         
            +
                    end
         
     | 
| 
      
 111 
     | 
    
         
            +
                  end
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
                  it "inherits attributes from parent class" do
         
     | 
| 
      
 114 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 115 
     | 
    
         
            +
                    end
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
                    expect(Foo::ChildUser).to be_request_new_object_on_build
         
     | 
| 
      
 118 
     | 
    
         
            +
                  end
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
                  it "allows `request_new_object_on_build` to be set to `false` on a child model" do
         
     | 
| 
      
 121 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 122 
     | 
    
         
            +
                      request_new_object_on_build false
         
     | 
| 
      
 123 
     | 
    
         
            +
                    end
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                    expect(Foo::ChildUser).to_not be_request_new_object_on_build
         
     | 
| 
      
 126 
     | 
    
         
            +
                  end
         
     | 
| 
      
 127 
     | 
    
         
            +
                end
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
      
 129 
     | 
    
         
            +
                context "to false" do
         
     | 
| 
      
 130 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 131 
     | 
    
         
            +
                    spawn_model "Foo::User" do
         
     | 
| 
      
 132 
     | 
    
         
            +
                      request_new_object_on_build false
         
     | 
| 
      
 133 
     | 
    
         
            +
                    end
         
     | 
| 
      
 134 
     | 
    
         
            +
                  end
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
                  it "inherits attributes from parent class" do
         
     | 
| 
      
 137 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 138 
     | 
    
         
            +
                    end
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
                    expect(Foo::ChildUser).to_not be_request_new_object_on_build
         
     | 
| 
      
 141 
     | 
    
         
            +
                  end
         
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
      
 143 
     | 
    
         
            +
                  it "allows `request_new_object_on_build` to be set to `true` on a child model" do
         
     | 
| 
      
 144 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 145 
     | 
    
         
            +
                      request_new_object_on_build true
         
     | 
| 
      
 146 
     | 
    
         
            +
                    end
         
     | 
| 
      
 147 
     | 
    
         
            +
             
     | 
| 
      
 148 
     | 
    
         
            +
                    expect(Foo::ChildUser).to be_request_new_object_on_build
         
     | 
| 
      
 149 
     | 
    
         
            +
                  end
         
     | 
| 
      
 150 
     | 
    
         
            +
                end
         
     | 
| 
      
 151 
     | 
    
         
            +
              end
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
       67 
153 
     | 
    
         
             
              context "when parse_root_in_json is set" do
         
     | 
| 
       68 
154 
     | 
    
         
             
                before do
         
     | 
| 
       69 
155 
     | 
    
         
             
                  Her::API.setup url: "https://api.example.com" do |builder|
         
     | 
| 
         @@ -88,6 +174,21 @@ describe Her::Model::Parse do 
     | 
|
| 
       88 
174 
     | 
    
         
             
                    end
         
     | 
| 
       89 
175 
     | 
    
         
             
                  end
         
     | 
| 
       90 
176 
     | 
    
         | 
| 
      
 177 
     | 
    
         
            +
                  it "inherits attributes from parent class" do
         
     | 
| 
      
 178 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 179 
     | 
    
         
            +
                    end
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
                    expect(Foo::ChildUser).to be_parse_root_in_json
         
     | 
| 
      
 182 
     | 
    
         
            +
                  end
         
     | 
| 
      
 183 
     | 
    
         
            +
             
     | 
| 
      
 184 
     | 
    
         
            +
                  it "allows `parse_root_in_json` to be set to `false` on a child model" do
         
     | 
| 
      
 185 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 186 
     | 
    
         
            +
                      parse_root_in_json false
         
     | 
| 
      
 187 
     | 
    
         
            +
                    end
         
     | 
| 
      
 188 
     | 
    
         
            +
             
     | 
| 
      
 189 
     | 
    
         
            +
                    expect(Foo::ChildUser).to_not be_parse_root_in_json
         
     | 
| 
      
 190 
     | 
    
         
            +
                  end
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
       91 
192 
     | 
    
         
             
                  it "parse the data from the JSON root element after .create" do
         
     | 
| 
       92 
193 
     | 
    
         
             
                    @new_user = Foo::User.create(fullname: "Lindsay Fünke")
         
     | 
| 
       93 
194 
     | 
    
         
             
                    expect(@new_user.fullname).to eq("Lindsay Fünke")
         
     | 
| 
         @@ -116,6 +217,29 @@ describe Her::Model::Parse do 
     | 
|
| 
       116 
217 
     | 
    
         
             
                  end
         
     | 
| 
       117 
218 
     | 
    
         
             
                end
         
     | 
| 
       118 
219 
     | 
    
         | 
| 
      
 220 
     | 
    
         
            +
                context "to false" do
         
     | 
| 
      
 221 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 222 
     | 
    
         
            +
                    spawn_model "Foo::User" do
         
     | 
| 
      
 223 
     | 
    
         
            +
                      parse_root_in_json false
         
     | 
| 
      
 224 
     | 
    
         
            +
                    end
         
     | 
| 
      
 225 
     | 
    
         
            +
                  end
         
     | 
| 
      
 226 
     | 
    
         
            +
             
     | 
| 
      
 227 
     | 
    
         
            +
                  it "inherits attributes from parent class" do
         
     | 
| 
      
 228 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 229 
     | 
    
         
            +
                    end
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
                    expect(Foo::ChildUser).to_not be_parse_root_in_json
         
     | 
| 
      
 232 
     | 
    
         
            +
                  end
         
     | 
| 
      
 233 
     | 
    
         
            +
             
     | 
| 
      
 234 
     | 
    
         
            +
                  it "allows `parse_root_in_json` to be set to `true` on a child model" do
         
     | 
| 
      
 235 
     | 
    
         
            +
                    spawn_model "Foo::ChildUser", super_class: Foo::User do
         
     | 
| 
      
 236 
     | 
    
         
            +
                      parse_root_in_json true
         
     | 
| 
      
 237 
     | 
    
         
            +
                    end
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
      
 239 
     | 
    
         
            +
                    expect(Foo::ChildUser).to be_parse_root_in_json
         
     | 
| 
      
 240 
     | 
    
         
            +
                  end
         
     | 
| 
      
 241 
     | 
    
         
            +
                end
         
     | 
| 
      
 242 
     | 
    
         
            +
             
     | 
| 
       119 
243 
     | 
    
         
             
                context "to a symbol" do
         
     | 
| 
       120 
244 
     | 
    
         
             
                  before do
         
     | 
| 
       121 
245 
     | 
    
         
             
                    Her::API.default_api.connection.adapter :test do |stub|
         
     | 
| 
         @@ -342,4 +466,31 @@ describe Her::Model::Parse do 
     | 
|
| 
       342 
466 
     | 
    
         
             
                  expect(user.to_params).to eql(user: { first_name: "Someone" })
         
     | 
| 
       343 
467 
     | 
    
         
             
                end
         
     | 
| 
       344 
468 
     | 
    
         
             
              end
         
     | 
| 
      
 469 
     | 
    
         
            +
             
     | 
| 
      
 470 
     | 
    
         
            +
              context 'when passed a non-Her ActiveModel instance' do
         
     | 
| 
      
 471 
     | 
    
         
            +
                before do
         
     | 
| 
      
 472 
     | 
    
         
            +
                  klass = Class.new do
         
     | 
| 
      
 473 
     | 
    
         
            +
                    include ActiveModel::Serialization
         
     | 
| 
      
 474 
     | 
    
         
            +
             
     | 
| 
      
 475 
     | 
    
         
            +
                    def attributes
         
     | 
| 
      
 476 
     | 
    
         
            +
                      { 'name' => nil }
         
     | 
| 
      
 477 
     | 
    
         
            +
                    end
         
     | 
| 
      
 478 
     | 
    
         
            +
             
     | 
| 
      
 479 
     | 
    
         
            +
                    def name
         
     | 
| 
      
 480 
     | 
    
         
            +
                      'foo'
         
     | 
| 
      
 481 
     | 
    
         
            +
                    end
         
     | 
| 
      
 482 
     | 
    
         
            +
                  end
         
     | 
| 
      
 483 
     | 
    
         
            +
             
     | 
| 
      
 484 
     | 
    
         
            +
                  @model = klass.new
         
     | 
| 
      
 485 
     | 
    
         
            +
             
     | 
| 
      
 486 
     | 
    
         
            +
                  Her::API.setup
         
     | 
| 
      
 487 
     | 
    
         
            +
                  spawn_model 'Foo::User'
         
     | 
| 
      
 488 
     | 
    
         
            +
                end
         
     | 
| 
      
 489 
     | 
    
         
            +
             
     | 
| 
      
 490 
     | 
    
         
            +
                it 'serializes the instance in `to_params`' do
         
     | 
| 
      
 491 
     | 
    
         
            +
                  attributes = { model: @model }
         
     | 
| 
      
 492 
     | 
    
         
            +
                  user = Foo::User.new(attributes)
         
     | 
| 
      
 493 
     | 
    
         
            +
                  expect(user.to_params).to eq(model: { name: 'foo' })
         
     | 
| 
      
 494 
     | 
    
         
            +
                end
         
     | 
| 
      
 495 
     | 
    
         
            +
              end
         
     | 
| 
       345 
496 
     | 
    
         
             
            end
         
     | 
    
        data/spec/model/relation_spec.rb
    CHANGED
    
    | 
         @@ -79,8 +79,8 @@ describe Her::Model::Relation do 
     | 
|
| 
       79 
79 
     | 
    
         
             
                  end
         
     | 
| 
       80 
80 
     | 
    
         | 
| 
       81 
81 
     | 
    
         
             
                  it "propagates the scopes through its children" do
         
     | 
| 
       82 
     | 
    
         
            -
                     
     | 
| 
       83 
     | 
    
         
            -
                    expect( 
     | 
| 
      
 82 
     | 
    
         
            +
                    expect(User.page(2).length).to eq(2)
         
     | 
| 
      
 83 
     | 
    
         
            +
                    expect(User.scoped.page(2).length).to eq(2)
         
     | 
| 
       84 
84 
     | 
    
         
             
                  end
         
     | 
| 
       85 
85 
     | 
    
         
             
                end
         
     | 
| 
       86 
86 
     | 
    
         
             
              end
         
     | 
| 
         @@ -135,6 +135,7 @@ describe Her::Model::Relation do 
     | 
|
| 
       135 
135 
     | 
    
         
             
                      stub.get("/users?what=4&where=3") { ok! [{ id: 3, fullname: "Maeby Fünke" }] }
         
     | 
| 
       136 
136 
     | 
    
         
             
                      stub.get("/users?what=2") { ok! [{ id: 2, fullname: "Lindsay Fünke" }] }
         
     | 
| 
       137 
137 
     | 
    
         
             
                      stub.get("/users?where=6") { ok! [{ id: 4, fullname: "Tobias Fünke" }] }
         
     | 
| 
      
 138 
     | 
    
         
            +
                      stub.get('/bar/users') { ok! [] }
         
     | 
| 
       138 
139 
     | 
    
         
             
                    end
         
     | 
| 
       139 
140 
     | 
    
         
             
                  end
         
     | 
| 
       140 
141 
     | 
    
         | 
| 
         @@ -143,6 +144,11 @@ describe Her::Model::Relation do 
     | 
|
| 
       143 
144 
     | 
    
         
             
                    scope :bar, ->(v) { where(where: v) }
         
     | 
| 
       144 
145 
     | 
    
         
             
                    scope :baz, -> { bar(6) }
         
     | 
| 
       145 
146 
     | 
    
         
             
                  end
         
     | 
| 
      
 147 
     | 
    
         
            +
             
     | 
| 
      
 148 
     | 
    
         
            +
                  spawn_model "Bar::User" do
         
     | 
| 
      
 149 
     | 
    
         
            +
                    collection_path '/bar/users'
         
     | 
| 
      
 150 
     | 
    
         
            +
                    scope :baz, -> { where(where: 7) }
         
     | 
| 
      
 151 
     | 
    
         
            +
                  end
         
     | 
| 
       146 
152 
     | 
    
         
             
                end
         
     | 
| 
       147 
153 
     | 
    
         | 
| 
       148 
154 
     | 
    
         
             
                it "passes query parameters" do
         
     | 
| 
         @@ -159,6 +165,12 @@ describe Her::Model::Relation do 
     | 
|
| 
       159 
165 
     | 
    
         
             
                  @user = Foo::User.baz.first
         
     | 
| 
       160 
166 
     | 
    
         
             
                  expect(@user.id).to eq(4)
         
     | 
| 
       161 
167 
     | 
    
         
             
                end
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
                it "does not share scope with other models" do
         
     | 
| 
      
 170 
     | 
    
         
            +
                  expect(Bar::User.scoped).not_to respond_to(:foo, :bar)
         
     | 
| 
      
 171 
     | 
    
         
            +
                  expect(Foo::User.scoped.baz.params[:where]).to eq(6)
         
     | 
| 
      
 172 
     | 
    
         
            +
                  expect(Bar::User.scoped.baz.params[:where]).to eq(7)
         
     | 
| 
      
 173 
     | 
    
         
            +
                end
         
     | 
| 
       162 
174 
     | 
    
         
             
              end
         
     | 
| 
       163 
175 
     | 
    
         | 
| 
       164 
176 
     | 
    
         
             
              describe :default_scope do
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: her
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.10. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.10.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Rémi Prévost
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-04-25 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rake
         
     | 
| 
         @@ -59,9 +59,9 @@ dependencies: 
     | 
|
| 
       59 
59 
     | 
    
         
             
                - - ">="
         
     | 
| 
       60 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
61 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       62 
     | 
    
         
            -
                - - " 
     | 
| 
      
 62 
     | 
    
         
            +
                - - "<"
         
     | 
| 
       63 
63 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       64 
     | 
    
         
            -
                    version:  
     | 
| 
      
 64 
     | 
    
         
            +
                    version: 5.2.0
         
     | 
| 
       65 
65 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       66 
66 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       67 
67 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -69,9 +69,9 @@ dependencies: 
     | 
|
| 
       69 
69 
     | 
    
         
             
                - - ">="
         
     | 
| 
       70 
70 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       71 
71 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       72 
     | 
    
         
            -
                - - " 
     | 
| 
      
 72 
     | 
    
         
            +
                - - "<"
         
     | 
| 
       73 
73 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       74 
     | 
    
         
            -
                    version:  
     | 
| 
      
 74 
     | 
    
         
            +
                    version: 5.2.0
         
     | 
| 
       75 
75 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       76 
76 
     | 
    
         
             
              name: activesupport
         
     | 
| 
       77 
77 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -79,9 +79,9 @@ dependencies: 
     | 
|
| 
       79 
79 
     | 
    
         
             
                - - ">="
         
     | 
| 
       80 
80 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       81 
81 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       82 
     | 
    
         
            -
                - - " 
     | 
| 
      
 82 
     | 
    
         
            +
                - - "<"
         
     | 
| 
       83 
83 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       84 
     | 
    
         
            -
                    version:  
     | 
| 
      
 84 
     | 
    
         
            +
                    version: 5.2.0
         
     | 
| 
       85 
85 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       86 
86 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       87 
87 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -89,9 +89,9 @@ dependencies: 
     | 
|
| 
       89 
89 
     | 
    
         
             
                - - ">="
         
     | 
| 
       90 
90 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       91 
91 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       92 
     | 
    
         
            -
                - - " 
     | 
| 
      
 92 
     | 
    
         
            +
                - - "<"
         
     | 
| 
       93 
93 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       94 
     | 
    
         
            -
                    version:  
     | 
| 
      
 94 
     | 
    
         
            +
                    version: 5.2.0
         
     | 
| 
       95 
95 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       96 
96 
     | 
    
         
             
              name: faraday
         
     | 
| 
       97 
97 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -225,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       225 
225 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       226 
226 
     | 
    
         
             
            requirements: []
         
     | 
| 
       227 
227 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       228 
     | 
    
         
            -
            rubygems_version: 2.5.1
         
     | 
| 
      
 228 
     | 
    
         
            +
            rubygems_version: 2.4.5.1
         
     | 
| 
       229 
229 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       230 
230 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       231 
231 
     | 
    
         
             
            summary: A simple Representational State Transfer-based Hypertext Transfer Protocol-powered
         
     |