morse_spec_helpers 0.0.8 → 0.0.9
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 757ac30270b0e40c39e04e69d6319476329b0429
|
4
|
+
data.tar.gz: d78da6063c640d5e2e95dbc3bbdebbc8ae125c3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5309a9b65b89df37196b44a52e32bf19e9ce17ad9006cafea8c4a3e5b581be6e33358da91be734f7694c09f42b7d51c41dc2cad0feaa388d3ed1ad1c5075429
|
7
|
+
data.tar.gz: 7e33f8bbe49c4f1850ef7af4619ccf0d61ad13591986660265304bfb35cf2afd6efc70c7063dd3f089c0a0570c42f4be65f7d720fdfd0b532a6ba2719894e3cd
|
@@ -5,7 +5,8 @@ class MorseSpecHelpersGenerator < Rails::Generators::Base
|
|
5
5
|
image_dir="#{support_dir}/images"
|
6
6
|
Dir.mkdir(support_dir) unless Dir.exist?(support_dir)
|
7
7
|
Dir.mkdir(image_dir) unless Dir.exist?(image_dir)
|
8
|
-
copy_file '../support/project_helpers.rb',"#{support_dir}/
|
8
|
+
copy_file '../support/project_helpers.rb',"#{support_dir}/project_helpers.rb"
|
9
9
|
copy_file '../support/images/placeholder.png',"#{image_dir}/placeholder.png"
|
10
|
+
copy_file '../initializers/morse.rb',"#{Rails.root}/config/initializers/morse.rb"
|
10
11
|
end
|
11
12
|
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
class ActiveRecord::Base
|
2
|
+
|
3
|
+
def associated_object_exists(klass,fn,required=true)
|
4
|
+
id=self.send(fn)
|
5
|
+
id_setter=(fn.to_s+'=').to_sym
|
6
|
+
unless klass.find_by_id(id)
|
7
|
+
self.send(id_setter,nil)
|
8
|
+
id=nil
|
9
|
+
end
|
10
|
+
if required==true and id.nil?
|
11
|
+
errors.add(fn,"does not exist")
|
12
|
+
return false
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def blank_to_nil(thing)
|
17
|
+
if self.send(thing).blank?
|
18
|
+
self.send(thing.to_s+'=',nil)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def process_attachment(options={})
|
23
|
+
options={:model_name=>:asset, :uploader_name=>:attachment}.merge(options)
|
24
|
+
model_name=options[:model_name]
|
25
|
+
uploader_name=options[:uploader_name]
|
26
|
+
klass=eval(model_name.to_s.camelize)
|
27
|
+
if self.send(uploader_name)
|
28
|
+
a=klass.new(uploader_name=>self.send(uploader_name))
|
29
|
+
if a.save
|
30
|
+
self.send(model_name,a)
|
31
|
+
self.send(uploader_name,nil)
|
32
|
+
save
|
33
|
+
else
|
34
|
+
errors.add(uploader_name,'had a problem saving')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
if klass.find_by_id(self.id)
|
38
|
+
self.reload
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def survive_if(thing)
|
43
|
+
if self.send(thing)==true
|
44
|
+
errors.add(:base,"Cannot destroy while #{thing} is true")
|
45
|
+
false
|
46
|
+
elsif self.send(thing).is_a?(Array) and self.send(thing).any?
|
47
|
+
errors.add(:base,"Cannot destroy while #{thing} has members")
|
48
|
+
false
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def there_can_be_only_one(thing)
|
53
|
+
if new_record?
|
54
|
+
enemies=self.class.where("#{thing} = ?",true)
|
55
|
+
else
|
56
|
+
enemies=self.class.where("#{thing} = ? and id != ? ",true,id)
|
57
|
+
end
|
58
|
+
if enemies.any?
|
59
|
+
enemies.each do |e|
|
60
|
+
e.default_land=false
|
61
|
+
e.save
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def there_must_be_one(thing)
|
67
|
+
existing=self.class.where("#{thing} = ?",true)
|
68
|
+
if existing.empty?
|
69
|
+
self.send("#{thing}=",true)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def validate_integer_or_default(thing,default)
|
74
|
+
unless self.send(thing)
|
75
|
+
self.send("#{thing}=",default)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def validate_mandatory_boolean(thing,message="must be true")
|
80
|
+
unless self.send(thing)==true
|
81
|
+
errors.add(thing,message)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
#class Array
|
87
|
+
# def sum
|
88
|
+
# inject( nil ) { |sum,x| sum ? sum+x : x }
|
89
|
+
# end
|
90
|
+
#end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: morse_spec_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Terry S
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- Rakefile
|
53
53
|
- lib/generators/morse_spec_helpers_generator.rb
|
54
54
|
- lib/generators/support_generator.rb
|
55
|
+
- lib/initializers/morse.rb
|
55
56
|
- lib/morse_spec_helpers.rb
|
56
57
|
- lib/morse_spec_helpers/version.rb
|
57
58
|
- lib/support/images/placeholder.png
|