lazy_model 0.0.5 → 0.0.6
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.
- data/VERSION +1 -1
- data/lazy_model.gemspec +1 -1
- data/lib/lazy_model/lazy_model_support.rb +3 -6
- data/lib/lazy_model/lazy_state.rb +12 -12
- data/test/lazy_model.sqlite3 +0 -0
- metadata +14 -14
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
data/lazy_model.gemspec
CHANGED
@@ -8,15 +8,12 @@ module LazyModelSupport
|
|
8
8
|
def initialize(model, attribute, enumerables = nil, custom_finders = {})
|
9
9
|
self.model = model
|
10
10
|
self.attribute = attribute
|
11
|
-
self.enumerables =
|
11
|
+
self.enumerables = enumerables
|
12
12
|
self.custom_finders = custom_finders
|
13
13
|
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
def format_enumerables(enumerables)
|
18
|
-
Array(enumerables).map{|enumerable| enumerable.underscore}
|
15
|
+
def to_method_name(any_string_or_symbol)
|
16
|
+
any_string_or_symbol.to_s.underscore
|
19
17
|
end
|
20
18
|
|
21
|
-
|
22
19
|
end
|
@@ -21,7 +21,7 @@ module LazyModel
|
|
21
21
|
def define_instance_enumerables
|
22
22
|
enumerables.each do |enumerable|
|
23
23
|
model.class_eval <<-LZY
|
24
|
-
def #{enumerable}?
|
24
|
+
def #{to_method_name(enumerable)}?
|
25
25
|
#{attribute} == "#{enumerable}"
|
26
26
|
end
|
27
27
|
LZY
|
@@ -31,7 +31,7 @@ module LazyModel
|
|
31
31
|
def define_instance_custom
|
32
32
|
custom_finders.each do |custom_finder, values|
|
33
33
|
model.class_eval <<-LZY
|
34
|
-
def #{custom_finder}?
|
34
|
+
def #{to_method_name(custom_finder)}?
|
35
35
|
#{values}.include?(#{attribute})
|
36
36
|
end
|
37
37
|
LZY
|
@@ -51,7 +51,7 @@ module LazyModel
|
|
51
51
|
model.class_eval <<-LZY
|
52
52
|
class << self
|
53
53
|
|
54
|
-
def #{attribute}(value = nil)
|
54
|
+
def #{to_method_name(attribute)}(value = nil)
|
55
55
|
table = self.arel_table[:#{attribute}]
|
56
56
|
|
57
57
|
filter = case value.class.to_s
|
@@ -64,7 +64,7 @@ module LazyModel
|
|
64
64
|
where(filter)
|
65
65
|
end
|
66
66
|
|
67
|
-
def not_#{attribute}(value = nil)
|
67
|
+
def not_#{to_method_name(attribute)}(value = nil)
|
68
68
|
table = self.arel_table[:#{attribute}]
|
69
69
|
|
70
70
|
filter = case value.class.to_s
|
@@ -86,12 +86,12 @@ module LazyModel
|
|
86
86
|
model.class_eval <<-LZY
|
87
87
|
class << self
|
88
88
|
|
89
|
-
def #{enumerable}
|
90
|
-
#{attribute}("#{enumerable}")
|
89
|
+
def #{to_method_name(enumerable)}
|
90
|
+
#{to_method_name(attribute)}("#{enumerable}")
|
91
91
|
end
|
92
92
|
|
93
|
-
def not_#{enumerable}
|
94
|
-
not_#{attribute}("#{enumerable}")
|
93
|
+
def not_#{to_method_name(enumerable)}
|
94
|
+
not_#{to_method_name(attribute)}("#{enumerable}")
|
95
95
|
end
|
96
96
|
|
97
97
|
end
|
@@ -103,12 +103,12 @@ module LazyModel
|
|
103
103
|
custom_finders.each do |custom_finder, values|
|
104
104
|
model.class_eval <<-LZY
|
105
105
|
class << self
|
106
|
-
def #{custom_finder}
|
107
|
-
#{attribute}(#{values})
|
106
|
+
def #{to_method_name(custom_finder)}
|
107
|
+
#{to_method_name(attribute)}(#{values})
|
108
108
|
end
|
109
109
|
|
110
|
-
def not_#{custom_finder}
|
111
|
-
not_#{attribute}(#{values})
|
110
|
+
def not_#{to_method_name(custom_finder)}
|
111
|
+
not_#{to_method_name(attribute)}(#{values})
|
112
112
|
end
|
113
113
|
end
|
114
114
|
LZY
|
data/test/lazy_model.sqlite3
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazy_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-12-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &70308384302440 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70308384302440
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &70308384301360 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70308384301360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: shoulda
|
38
|
-
requirement: &
|
38
|
+
requirement: &70308384299280 !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: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70308384299280
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70308384298300 !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: *
|
57
|
+
version_requirements: *70308384298300
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70308384356860 !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: *
|
68
|
+
version_requirements: *70308384356860
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sqlite3-ruby
|
71
|
-
requirement: &
|
71
|
+
requirement: &70308384355900 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70308384355900
|
80
80
|
description: write common active_record methods in shorthand
|
81
81
|
email: ascruggs@academicworks.com
|
82
82
|
executables: []
|
@@ -118,7 +118,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
118
118
|
version: '0'
|
119
119
|
segments:
|
120
120
|
- 0
|
121
|
-
hash: -
|
121
|
+
hash: -4577784084993632056
|
122
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
123
|
none: false
|
124
124
|
requirements:
|