fimmed_up 0.0.2 → 0.0.3
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/fimmed_up.gemspec +2 -1
- data/lib/fimmed_up/client.rb +26 -5
- data/lib/fimmed_up/configuration.rb +1 -1
- data/lib/fimmed_up/connection.rb +7 -0
- data/lib/fimmed_up/helpers.rb +5 -1
- data/lib/fimmed_up/parameters.rb +10 -9
- data/lib/fimmed_up/request.rb +8 -13
- data/lib/fimmed_up/version.rb +1 -1
- data/spec/fimmed_up/client_spec.rb +63 -19
- data/spec/support/json_helpers.rb +1 -1
- metadata +18 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 09627cdd7d54f100de84b12222a014b7f090f61f
         | 
| 4 | 
            +
              data.tar.gz: f88b1c1b006d15036fbfb6f14920967f418f976f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ea8ed57a3b4e9497bba750f65ebe9c39e4785e9434986b8c4a091dec62eff0f37e81186f40c2a3829d0b7137459aabaecabe889dd926fa01bf66c3911691130b
         | 
| 7 | 
            +
              data.tar.gz: 84b0dddb9e1fcce12052e9c814b8349f3711afdda80399c211178cdd477a5e43244f22b57fa1cd9cd52a18afb8f746f45eac33bd0823567ea6952e62397c4743
         | 
    
        data/fimmed_up.gemspec
    CHANGED
    
    | @@ -20,8 +20,9 @@ Gem::Specification.new do |spec| | |
| 20 20 |  | 
| 21 21 | 
             
              spec.add_dependency 'faraday'
         | 
| 22 22 | 
             
              spec.add_dependency 'json'
         | 
| 23 | 
            +
              spec.add_dependency 'faraday_middleware'
         | 
| 23 24 | 
             
              spec.add_development_dependency "bundler", "~> 1.3"
         | 
| 24 25 | 
             
              spec.add_development_dependency "rake"
         | 
| 25 26 | 
             
              spec.add_development_dependency "rspec"  
         | 
| 26 | 
            -
              spec.add_development_dependency "pry | 
| 27 | 
            +
              spec.add_development_dependency "pry"
         | 
| 27 28 | 
             
            end
         | 
    
        data/lib/fimmed_up/client.rb
    CHANGED
    
    | @@ -22,13 +22,34 @@ module FimmedUp | |
| 22 22 | 
             
                  end
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 | 
            -
                def  | 
| 26 | 
            -
                  self.get("#{resource} | 
| 25 | 
            +
                def find(id)
         | 
| 26 | 
            +
                  record = self.get("#{resource}/#{id}", {}, {})
         | 
| 27 | 
            +
                  if record != ""
         | 
| 28 | 
            +
                    json(record)[0]
         | 
| 29 | 
            +
                  else
         | 
| 30 | 
            +
                    { "error" => "Not Found" }
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
                end  
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                def update(id, args)
         | 
| 35 | 
            +
                  self.patch("#{resource}/#{id}", args, {})
         | 
| 27 36 | 
             
                end
         | 
| 28 37 |  | 
| 29 | 
            -
                def  | 
| 30 | 
            -
                  self. | 
| 31 | 
            -
                end | 
| 38 | 
            +
                def create(args)
         | 
| 39 | 
            +
                  self.post(resource, args, {})
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                def updated_count
         | 
| 43 | 
            +
                  self.get("#{resource}/updatedtoday/count", parameters, {}).to_i
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                def count
         | 
| 47 | 
            +
                  self.get("#{resource}/count", parameters, {}).to_i     
         | 
| 48 | 
            +
                end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                def delete(id, args)
         | 
| 51 | 
            +
                  self.delete("#{resource}/#{id}", args, {})
         | 
| 52 | 
            +
                end
         | 
| 32 53 |  | 
| 33 54 | 
             
              end # Client
         | 
| 34 55 |  | 
    
        data/lib/fimmed_up/connection.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            require 'faraday'
         | 
| 2 | 
            +
            require 'faraday_middleware'
         | 
| 2 3 | 
             
            require 'fimmed_up/response/raise_client_error'
         | 
| 3 4 | 
             
            require 'fimmed_up/response/raise_server_error'
         | 
| 4 5 |  | 
| @@ -20,9 +21,15 @@ module FimmedUp | |
| 20 21 | 
             
                    builder.use FimmedUp::Response::RaiseServerError
         | 
| 21 22 |  | 
| 22 23 | 
             
                    builder.basic_auth(default_options[:user], default_options[:password])
         | 
| 24 | 
            +
             | 
| 23 25 | 
             
                    builder.headers["Http-Accept"] = "application/json"
         | 
| 24 26 | 
             
                    builder.headers["Content-Type"] = "application/json"
         | 
| 25 27 |  | 
| 28 | 
            +
                    # encodes ruby Hashes/Arrays in POST bodies as "application/json"
         | 
| 29 | 
            +
                    # builder.request :multipart
         | 
| 30 | 
            +
                    builder.request :url_encoded
         | 
| 31 | 
            +
                    builder.request :json
         | 
| 32 | 
            +
             | 
| 26 33 | 
             
                    # TODO: Make logging optional
         | 
| 27 34 | 
             
                    # builder.response :logger
         | 
| 28 35 |  | 
    
        data/lib/fimmed_up/helpers.rb
    CHANGED
    
    
    
        data/lib/fimmed_up/parameters.rb
    CHANGED
    
    | @@ -26,10 +26,10 @@ module FimmedUp | |
| 26 26 | 
             
                  self
         | 
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 | 
            -
                def select(args)
         | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
                end
         | 
| 29 | 
            +
                # def select(args)
         | 
| 30 | 
            +
                #   parameters[:fields] = args
         | 
| 31 | 
            +
                #   self
         | 
| 32 | 
            +
                # end
         | 
| 33 33 |  | 
| 34 34 | 
             
                def find(id)
         | 
| 35 35 | 
             
                  parameters.merge!(id: id)
         | 
| @@ -38,15 +38,16 @@ module FimmedUp | |
| 38 38 |  | 
| 39 39 | 
             
                def each(&block)
         | 
| 40 40 | 
             
                  records = self.get(resource, parameters, {})
         | 
| 41 | 
            -
                   | 
| 42 | 
            -
             | 
| 41 | 
            +
                  if records.empty?
         | 
| 42 | 
            +
                    []
         | 
| 43 | 
            +
                  else
         | 
| 44 | 
            +
                    json(records).each(&block)
         | 
| 45 | 
            +
                  end
         | 
| 43 46 | 
             
                end
         | 
| 44 47 |  | 
| 45 48 | 
             
                private
         | 
| 46 49 | 
             
                  def like_format(args)       
         | 
| 47 | 
            -
                    return_args = args.map  | 
| 48 | 
            -
                      hash = { "#{key.to_s}.like" => "%#{value}%" }          
         | 
| 49 | 
            -
                    end        
         | 
| 50 | 
            +
                    return_args = args.map { | key, value | hash = { "#{key.to_s}.like" => "%#{value}%" } }                
         | 
| 50 51 | 
             
                    return_args[0]
         | 
| 51 52 | 
             
                  end
         | 
| 52 53 | 
             
              end
         | 
    
        data/lib/fimmed_up/request.rb
    CHANGED
    
    | @@ -1,6 +1,5 @@ | |
| 1 1 | 
             
            require 'net/http'
         | 
| 2 | 
            -
            require 'uri'
         | 
| 3 | 
            -
            require 'pry'
         | 
| 2 | 
            +
            require 'uri' 
         | 
| 4 3 |  | 
| 5 4 | 
             
            module FimmedUp
         | 
| 6 5 | 
             
              # Handless HTTP requests
         | 
| @@ -24,22 +23,18 @@ module FimmedUp | |
| 24 23 | 
             
                private
         | 
| 25 24 |  | 
| 26 25 | 
             
                def request(method, path, params, options)
         | 
| 27 | 
            -
             | 
| 28 26 | 
             
                  response = connection(options).run_request(method, nil, nil, nil) do |request|
         | 
| 29 | 
            -
                    request.options[:raw] = true if options[:raw]
         | 
| 30 | 
            -
             | 
| 27 | 
            +
                    request.options[:raw] = true if options[:raw]        
         | 
| 31 28 | 
             
                    case method.to_sym
         | 
| 32 | 
            -
                    when :get | 
| 29 | 
            +
                    when :get
         | 
| 33 30 | 
             
                      request.url(path, params)
         | 
| 34 | 
            -
                    when :post
         | 
| 35 | 
            -
                      request.path  | 
| 36 | 
            -
                      request.body = params unless params.empty?
         | 
| 37 | 
            -
                    when :delete
         | 
| 38 | 
            -
                      request.path = path
         | 
| 31 | 
            +
                    when :post          
         | 
| 32 | 
            +
                      request.url(path, params)          
         | 
| 39 33 | 
             
                      request.body = params unless params.empty?          
         | 
| 40 34 | 
             
                    when :patch
         | 
| 41 | 
            -
                      request.path  | 
| 42 | 
            -
             | 
| 35 | 
            +
                      request.url(path, params)
         | 
| 36 | 
            +
                    when :delete
         | 
| 37 | 
            +
                      request.url(path, params)
         | 
| 43 38 | 
             
                    end
         | 
| 44 39 | 
             
                  end      
         | 
| 45 40 | 
             
                  options[:raw] ? response : response.body
         | 
    
        data/lib/fimmed_up/version.rb
    CHANGED
    
    
| @@ -29,8 +29,7 @@ describe FimmedUp::Client do | |
| 29 29 | 
             
                describe 'with class configuration' do
         | 
| 30 30 | 
             
                  before do
         | 
| 31 31 | 
             
                    @config = {
         | 
| 32 | 
            -
                      :endpoint   => 'ep',
         | 
| 33 | 
            -
                      :method     => 'hm',
         | 
| 32 | 
            +
                      :endpoint   => 'ep',          
         | 
| 34 33 | 
             
                      :username   => 'ej',
         | 
| 35 34 | 
             
                      :password   => 'uo'
         | 
| 36 35 | 
             
                    }
         | 
| @@ -64,7 +63,7 @@ describe FimmedUp::Client do | |
| 64 63 | 
             
                  it 'should not be blank' do
         | 
| 65 64 | 
             
                    client = FimmedUp::Client.new(resource: "profile")
         | 
| 66 65 | 
             
                    profile = client.find(5)
         | 
| 67 | 
            -
                    expect(profile | 
| 66 | 
            +
                    expect(profile["id"]).to eq("5".rjust(6))
         | 
| 68 67 | 
             
                  end
         | 
| 69 68 | 
             
                end    
         | 
| 70 69 | 
             
              end
         | 
| @@ -86,7 +85,11 @@ describe FimmedUp::Client do | |
| 86 85 | 
             
                end
         | 
| 87 86 | 
             
                it 'should return id' do      
         | 
| 88 87 | 
             
                  profile = @profiles.find(5)      
         | 
| 89 | 
            -
                  expect(profile | 
| 88 | 
            +
                  expect(profile["id"]).to eq('5'.rjust(6))
         | 
| 89 | 
            +
                end
         | 
| 90 | 
            +
                it 'should return not found error' do
         | 
| 91 | 
            +
                  profile = @profiles.find(999999)
         | 
| 92 | 
            +
                  expect(profile["error"]).to eq('Not Found')
         | 
| 90 93 | 
             
                end
         | 
| 91 94 | 
             
              end
         | 
| 92 95 |  | 
| @@ -96,11 +99,22 @@ describe FimmedUp::Client do | |
| 96 99 | 
             
                end    
         | 
| 97 100 | 
             
                it 'returns orgname like' do
         | 
| 98 101 | 
             
                  profile = []        
         | 
| 99 | 
            -
                  @profiles.like(orgname: "Active").each { 
         | 
| 102 | 
            +
                  @profiles.like(orgname: "Active Heroes").each { 
         | 
| 100 103 | 
             
                    |u| profile << u 
         | 
| 101 104 | 
             
                  }        
         | 
| 102 105 | 
             
                  expect(profile.first["orgname"].downcase).to include("active")
         | 
| 103 | 
            -
                end | 
| 106 | 
            +
                end
         | 
| 107 | 
            +
                # it 'returns orgname wide like', focus: true do
         | 
| 108 | 
            +
                #   profile = []        
         | 
| 109 | 
            +
                #   @profiles.like(orgname: "Active Heroes", wide: true).each { 
         | 
| 110 | 
            +
                #     |u| profile << u 
         | 
| 111 | 
            +
                #   }
         | 
| 112 | 
            +
                #   profile.each do |r|
         | 
| 113 | 
            +
                #     r["orgname"].downcase.should satisfy do |s|
         | 
| 114 | 
            +
                #       s.include?("active") || s.include?("hereos")
         | 
| 115 | 
            +
                #     end
         | 
| 116 | 
            +
                #   end       
         | 
| 117 | 
            +
                # end
         | 
| 104 118 | 
             
              end
         | 
| 105 119 |  | 
| 106 120 | 
             
              describe '.limit' do
         | 
| @@ -119,8 +133,8 @@ describe FimmedUp::Client do | |
| 119 133 | 
             
                  @profiles = FimmedUp::Client.new(resource: "profile")
         | 
| 120 134 | 
             
                end
         | 
| 121 135 | 
             
                it 'should return the number of records updated today' do      
         | 
| 122 | 
            -
                  updated = @profiles. | 
| 123 | 
            -
                  expect(updated).to eq( | 
| 136 | 
            +
                  updated = @profiles.updated_count
         | 
| 137 | 
            +
                  expect(updated).to eq(4)
         | 
| 124 138 | 
             
                end
         | 
| 125 139 | 
             
              end
         | 
| 126 140 |  | 
| @@ -129,22 +143,52 @@ describe FimmedUp::Client do | |
| 129 143 | 
             
                  @profiles = FimmedUp::Client.new(resource: "profile")
         | 
| 130 144 | 
             
                end
         | 
| 131 145 | 
             
                it 'should return the number of records' do      
         | 
| 132 | 
            -
                  count = @profiles.count | 
| 133 | 
            -
                  expect(count).to eq( | 
| 146 | 
            +
                  count = @profiles.count     
         | 
| 147 | 
            +
                  expect(count).to eq(37464)
         | 
| 134 148 | 
             
                end
         | 
| 135 149 | 
             
              end
         | 
| 136 150 |  | 
| 137 | 
            -
              describe '.select' do
         | 
| 138 | 
            -
             | 
| 151 | 
            +
              # describe '.select', focus: true do
         | 
| 152 | 
            +
              #   before do
         | 
| 153 | 
            +
              #     @profiles = FimmedUp::Client.new(resource: "profile")      
         | 
| 154 | 
            +
              #   end
         | 
| 155 | 
            +
              #   it 'returns only fields' do
         | 
| 156 | 
            +
              #     profile = []
         | 
| 157 | 
            +
              #     @profiles.where(orgname: "Active Heroes").select(['id', 'orgname']).each { |u| profile << u }
         | 
| 158 | 
            +
              #     expect(profile.first.keys).to include('id', 'orgname')
         | 
| 159 | 
            +
              #     expect(profile.first.count).to eq(2)
         | 
| 160 | 
            +
              #   end
         | 
| 161 | 
            +
              # end    
         | 
| 162 | 
            +
             | 
| 163 | 
            +
             | 
| 164 | 
            +
              describe '.create' do
         | 
| 165 | 
            +
                before(:each) do
         | 
| 139 166 | 
             
                  @profiles = FimmedUp::Client.new(resource: "profile")      
         | 
| 167 | 
            +
                  @before_count = @profiles.count      
         | 
| 140 168 | 
             
                end
         | 
| 141 | 
            -
                it ' | 
| 142 | 
            -
                   | 
| 143 | 
            -
                  @ | 
| 144 | 
            -
                  expect(profile.first.keys).to include('id', 'orgname')
         | 
| 145 | 
            -
                  expect(profile.first.count).to eq(2)
         | 
| 169 | 
            +
                it 'creates a record' do
         | 
| 170 | 
            +
                  @profiles.create({orgname: "Active Heroes", asf: "Active Heroes"})
         | 
| 171 | 
            +
                  expect(@before_count).to be < @profiles.count
         | 
| 146 172 | 
             
                end
         | 
| 147 | 
            -
              end | 
| 148 | 
            -
             | 
| 173 | 
            +
              end
         | 
| 174 | 
            +
             | 
| 175 | 
            +
              describe '.update' do
         | 
| 176 | 
            +
                before do      
         | 
| 177 | 
            +
                  @id = 5
         | 
| 178 | 
            +
                  profiles = FimmedUp::Client.new(resource: "profile")
         | 
| 179 | 
            +
                  profile = profiles.find(@id)
         | 
| 180 | 
            +
                  @current_name = profile["orgname"]
         | 
| 181 | 
            +
                end
         | 
| 182 | 
            +
                it 'updates a record' do
         | 
| 183 | 
            +
                  # profile_arr = []
         | 
| 184 | 
            +
                  @current_name.should_not eq("Active Testing")
         | 
| 185 | 
            +
                  profiles = FimmedUp::Client.new(resource: "profile")
         | 
| 186 | 
            +
                  profiles.update(@id, {orgname: "Active Testing"})
         | 
| 187 | 
            +
                  # profile = FimmedUp::Client.new(resource: "profile")
         | 
| 188 | 
            +
                  profile = profiles.find(@id)
         | 
| 189 | 
            +
                  expect(profile["orgname"]).to eq("Active Testing")
         | 
| 190 | 
            +
                  profiles.update(@id, {orgname: @current_name, asf: @current_name})
         | 
| 191 | 
            +
                end
         | 
| 192 | 
            +
              end
         | 
| 149 193 |  | 
| 150 194 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fimmed_up
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jovon Packard
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2014-01-15 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: faraday
         | 
| @@ -38,6 +38,20 @@ dependencies: | |
| 38 38 | 
             
                - - '>='
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: '0'
         | 
| 41 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            +
              name: faraday_middleware
         | 
| 43 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            +
                requirements:
         | 
| 45 | 
            +
                - - '>='
         | 
| 46 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            +
                    version: '0'
         | 
| 48 | 
            +
              type: :runtime
         | 
| 49 | 
            +
              prerelease: false
         | 
| 50 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - '>='
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: '0'
         | 
| 41 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 56 | 
             
              name: bundler
         | 
| 43 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -81,7 +95,7 @@ dependencies: | |
| 81 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 96 | 
             
                    version: '0'
         | 
| 83 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 84 | 
            -
              name: pry | 
| 98 | 
            +
              name: pry
         | 
| 85 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 100 | 
             
                requirements:
         | 
| 87 101 | 
             
                - - '>='
         | 
| @@ -144,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 144 158 | 
             
                  version: '0'
         | 
| 145 159 | 
             
            requirements: []
         | 
| 146 160 | 
             
            rubyforge_project: 
         | 
| 147 | 
            -
            rubygems_version: 2.0. | 
| 161 | 
            +
            rubygems_version: 2.0.14
         | 
| 148 162 | 
             
            signing_key: 
         | 
| 149 163 | 
             
            specification_version: 4
         | 
| 150 164 | 
             
            summary: Client for fimmed_up API
         |