parse_resource 1.5.8 → 1.5.9

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.8
1
+ 1.5.9
@@ -20,8 +20,9 @@ class ParseResource
20
20
 
21
21
  # instantiation!
22
22
  # p = Post.new(:title => "cool story")
23
- def initialize(attributes = {})
24
- if new?
23
+ def initialize(attributes = {}, new=true)
24
+ attributes.each_key {}
25
+ if new
25
26
  @unsaved_attributes = attributes
26
27
  else
27
28
  @unsaved_attributes = {}
@@ -55,10 +56,24 @@ class ParseResource
55
56
  def create_setters!
56
57
  @attributes.each_pair do |k,v|
57
58
  self.class.send(:define_method, "#{k}=") do |val|
59
+ if k.is_a?(Symbol)
60
+ k = k.to_s
61
+ end
58
62
  @attributes[k.to_s] = val
59
63
  @unsaved_attributes[k.to_s] = val
60
64
  val
61
65
  end
66
+ self.class.send(:define_method, "#{k}") do
67
+ if k.is_a?(Symbol)
68
+ k = k.to_s
69
+ end
70
+
71
+ if @attributes[k.to_s]
72
+ @attributes[k.to_s]
73
+ else
74
+ @unsaved_attributes[k.to_s]
75
+ end
76
+ end
62
77
  end
63
78
  end
64
79
 
@@ -93,14 +108,14 @@ class ParseResource
93
108
  def where(parameters)
94
109
  resp = resource.get(:params => {:where => parameters.to_json})
95
110
  results = JSON.parse(resp)['results']
96
- results.map {|r| model_name.constantize.new(r)}
111
+ results.map {|r| model_name.constantize.new(r, false)}
97
112
  end
98
113
 
99
114
  # Post.all
100
115
  def all
101
116
  resp = resource.get
102
117
  results = JSON.parse(resp)['results']
103
- results.map {|r| model_name.constantize.new(r)}
118
+ results.map {|r| model_name.constantize.new(r, false)}
104
119
  end
105
120
 
106
121
  # Post.create(:title => "new post")
@@ -120,7 +135,11 @@ class ParseResource
120
135
  end
121
136
 
122
137
  def persisted?
123
- !self.id.nil?
138
+ if id
139
+ true
140
+ else
141
+ false
142
+ end
124
143
  end
125
144
 
126
145
  def new?
@@ -207,11 +226,11 @@ class ParseResource
207
226
  # another sprinkle of metaprogramming
208
227
  # p = Post.new(:some_attr => "some value")
209
228
  # p.some_attr #=> "some value"
210
- def method_missing(meth, *args, &block)
211
- if self.attributes.has_key?(meth.to_s)
212
- self.attributes[meth.to_s]
213
- else
214
- super
215
- end
216
- end
229
+ #def method_missing(meth, *args, &block)
230
+ # if @attributes.has_key?(meth.to_s)
231
+ # @attributes[meth.to_s]
232
+ # else
233
+ # super
234
+ # end
235
+ #end
217
236
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "parse_resource"
8
- s.version = "1.5.8"
8
+ s.version = "1.5.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alan deLevie"]
12
- s.date = "2011-09-23"
12
+ s.date = "2011-09-30"
13
13
  s.description = ""
14
14
  s.email = "adelevie@gmail.com"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parse_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.8
4
+ version: 1.5.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-23 00:00:00.000000000Z
12
+ date: 2011-09-30 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &72358380 !ruby/object:Gem::Requirement
16
+ requirement: &80539030 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *72358380
24
+ version_requirements: *80539030
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &72358030 !ruby/object:Gem::Requirement
27
+ requirement: &80538720 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *72358030
35
+ version_requirements: *80538720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activemodel
38
- requirement: &72357660 !ruby/object:Gem::Requirement
38
+ requirement: &80538320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *72357660
46
+ version_requirements: *80538320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &72352260 !ruby/object:Gem::Requirement
49
+ requirement: &80529150 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *72352260
57
+ version_requirements: *80529150
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &72351940 !ruby/object:Gem::Requirement
60
+ requirement: &80528860 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *72351940
68
+ version_requirements: *80528860
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &72351620 !ruby/object:Gem::Requirement
71
+ requirement: &80528510 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *72351620
79
+ version_requirements: *80528510
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: reek
82
- requirement: &72351300 !ruby/object:Gem::Requirement
82
+ requirement: &80528220 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.2.8
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *72351300
90
+ version_requirements: *80528220
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rest-client
93
- requirement: &72350990 !ruby/object:Gem::Requirement
93
+ requirement: &80527910 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *72350990
101
+ version_requirements: *80527910
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: activesupport
104
- requirement: &72350670 !ruby/object:Gem::Requirement
104
+ requirement: &80527360 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *72350670
112
+ version_requirements: *80527360
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: activemodel
115
- requirement: &72350320 !ruby/object:Gem::Requirement
115
+ requirement: &80527060 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *72350320
123
+ version_requirements: *80527060
124
124
  description: ''
125
125
  email: adelevie@gmail.com
126
126
  executables: []
@@ -161,7 +161,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
161
161
  version: '0'
162
162
  segments:
163
163
  - 0
164
- hash: 494187885
164
+ hash: -761899121
165
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  none: false
167
167
  requirements: