fimmed_up 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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