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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f821bee7a0c16b2bcc9c1ff08aa46718639d455
4
- data.tar.gz: 947bb89bfa4ff11e3f0d5119cef55f1de1e63f2f
3
+ metadata.gz: 09627cdd7d54f100de84b12222a014b7f090f61f
4
+ data.tar.gz: f88b1c1b006d15036fbfb6f14920967f418f976f
5
5
  SHA512:
6
- metadata.gz: 2f862869f944710ab4a0d6aede796bc57ecbf4526fdd419e831585f747cd4de06136829e99fac609347c5e2e674eef209ad9d6f88b96ebf834808a1673ea4247
7
- data.tar.gz: f799c8d1f073ba78cc11bc37f682dcaec0e62909a5cbd7b60b4b1a0cdae529cbc35b6e21c5c4a7499c9dc13e80c09a31bed3de09a5af01ba59b241c0ede174e2
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-remote"
27
+ spec.add_development_dependency "pry"
27
28
  end
@@ -22,13 +22,34 @@ module FimmedUp
22
22
  end
23
23
  end
24
24
 
25
- def updated
26
- self.get("#{resource}/updatedtoday/count", parameters, {}).to_i
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 count
30
- self.get("#{resource}/count", parameters, {}).to_i
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
 
@@ -6,7 +6,7 @@ module FimmedUp
6
6
 
7
7
 
8
8
  DEFAULT_METHOD = :get
9
- DEFAULT_ENDPOINT = 'http://10.0.0.140'
9
+ DEFAULT_ENDPOINT = 'http://10.0.0.136:9292'
10
10
  DEFAULT_USERNAME = ENV["API_USERNAME"].to_s
11
11
  DEFAULT_PASSWORD = ENV["API_PASSWORD"].to_s
12
12
  DEFAULT_RESOURCE = "profile"
@@ -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
 
@@ -3,7 +3,11 @@ require 'json'
3
3
  module FimmedUp
4
4
  module Helpers
5
5
  def json(response)
6
- @json ||= JSON.parse(response) if response
6
+ begin
7
+ JSON.parse(response)
8
+ rescue
9
+ { error: "No records returned!" }
10
+ end
7
11
  end
8
12
  end
9
13
  end
@@ -26,10 +26,10 @@ module FimmedUp
26
26
  self
27
27
  end
28
28
 
29
- def select(args)
30
- parameters[:fields] = args
31
- self
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
- raise "Records not found" if records.empty?
42
- json(records).each(&block)
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 do | key, value |
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
@@ -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 = 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 = path
42
- request.body = params unless params.empty?
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
@@ -1,3 +1,3 @@
1
1
  module FimmedUp
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -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.first["id"]).to eq("5".rjust(6))
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.first["id"]).to eq('5'.rjust(6))
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.updated
123
- expect(updated).to eq(0)
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(37397)
146
+ count = @profiles.count
147
+ expect(count).to eq(37464)
134
148
  end
135
149
  end
136
150
 
137
- describe '.select' do
138
- before do
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 'returns only fields' do
142
- profile = []
143
- @profiles.where(orgname: "Active Heroes").select(['id', 'orgname']).each { |u| profile << u }
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
@@ -1,5 +1,5 @@
1
1
  module JsonHelpers
2
2
  def json(response)
3
- @json ||= JSON.parse(response) if response
3
+ JSON.parse(response) if response
4
4
  end
5
5
  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.2
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: 2013-10-30 00:00:00.000000000 Z
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-remote
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.2
161
+ rubygems_version: 2.0.14
148
162
  signing_key:
149
163
  specification_version: 4
150
164
  summary: Client for fimmed_up API