ar_http_wrapper 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,37 +8,37 @@ class ActiveRecordHttpWrapper
8
8
  end
9
9
 
10
10
  def self.build
11
- OpenStruct.new get(to_path("/new"))
11
+ _parsed get(to_path(nil,"/new"))
12
12
  end
13
13
 
14
14
  def self.create(args={})
15
15
  options = { :body => args[:params] }
16
- OpenStruct.new post(to_path("/"), options)
16
+ _parsed post(to_path(nil,"/"), options)
17
17
  end
18
18
 
19
- def update_attributes(args={})
19
+ def self.update_attributes(_syncable, args={})
20
20
  options = { :body => args[:params] }
21
- OpenStruct.new put(to_path("/"), options)
21
+ _parsed put(to_path(_syncable.id, "/"), options)
22
22
  end
23
23
 
24
24
  def self.find_by_id(_id)
25
- OpenStruct.new get(new(:id => _id).send(:to_path))
25
+ _parsed get(to_path(_id))
26
26
  end
27
27
 
28
- def destroy
29
- OpenStruct.new delete(send(:to_path))
28
+ def self.destroy(_syncable)
29
+ _parsed delete(to_path(_syncable.id))
30
30
  end
31
31
 
32
32
  def self.where(conditions)
33
33
  options = {:body => {:conditions => conditions}}
34
- get(to_path("/"), options).try(:map) { |h| OpenStruct.new(h) }
34
+ get(to_path(nil,"/"), options).try(:map) { |h| _parsed(h) }
35
35
  end
36
36
 
37
37
  def self.find_each(batch_size=1000,&block)
38
38
  n_batches = (count / batch_size).to_i + 1
39
39
  n_batches.times do |i|
40
40
  options = {:body => {:offset => i * batch_size, :limit => batch_size}}
41
- records = get(to_path("/"), options).try(:map) { |h| OpenStruct.new(h) }
41
+ records = get(to_path(nil,"/"), options).try(:map) { |h| _parsed(h) }
42
42
  records.each do |r|
43
43
  yield r if block_given?
44
44
  end
@@ -47,16 +47,17 @@ class ActiveRecordHttpWrapper
47
47
 
48
48
  def self.count(params={})
49
49
  options = {:body => {:count => true}.merge(params)}
50
- get(to_path("/"),options).body.try(:to_i)
50
+ get(to_path(nil,"/"),options).body.try(:to_i)
51
51
  end
52
+
52
53
  private
53
54
 
54
- def self.to_path(_path=nil)
55
- "/#{to_url}#{_path}"
55
+ def self._parsed(to_parse)
56
+ JSON.parse(to_parse).symbolize_keys
56
57
  end
57
58
 
58
- def to_path(_path=nil)
59
- "#{self.class.send(:to_path)}/#{id}#{_path}"
59
+ def self.to_path(_id=nil,_path=nil)
60
+ "/#{to_url}#{_id ? '/'+_id.to_s : nil}#{_path}"
60
61
  end
61
62
 
62
63
  def self.to_url
@@ -1,3 +1,3 @@
1
1
  module ArHttpWrapper
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar_http_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: