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 CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
data/lazy_model.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "lazy_model"
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aaron Scruggs"]
@@ -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 = format_enumerables(enumerables)
11
+ self.enumerables = enumerables
12
12
  self.custom_finders = custom_finders
13
13
  end
14
14
 
15
- private
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
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.5
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: &70266500318760 !ruby/object:Gem::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: *70266500318760
24
+ version_requirements: *70308384302440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70266500317660 !ruby/object:Gem::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: *70266500317660
35
+ version_requirements: *70308384301360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: shoulda
38
- requirement: &70266512218180 !ruby/object:Gem::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: *70266512218180
46
+ version_requirements: *70308384299280
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70266512217000 !ruby/object:Gem::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: *70266512217000
57
+ version_requirements: *70308384298300
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &70266512214900 !ruby/object:Gem::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: *70266512214900
68
+ version_requirements: *70308384356860
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3-ruby
71
- requirement: &70266512213580 !ruby/object:Gem::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: *70266512213580
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: -4507813331034137999
121
+ hash: -4577784084993632056
122
122
  required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  none: false
124
124
  requirements: