rails_model_stacker 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f7925110cd320c9740ee5ceef3e817e67714ece
4
- data.tar.gz: 6d02b423334cff8c373de3f030f2dc509ad867e1
3
+ metadata.gz: d5e04a9c2241866c5e23662daba91ce4019e9e9a
4
+ data.tar.gz: dd24dcdae9ae908ac1d55b910f18b4fd8273509d
5
5
  SHA512:
6
- metadata.gz: 4a4e1fb39d9f8658b6c7fc649ab34f5fa791906dba8ecb5d4fcea2243d82e754623166bc12ccb8bce186c3a5bca3b39f3e83548759384aaf7363a526de1b6dc4
7
- data.tar.gz: ba8cd003b51d1d662253647d73550ffefaf156d612d4fbcd5a29c0a0c8ce4ed706104b06b41f4e9d0f8d348760b9020887ed95d350810d0b5aad1bf0b80b4507
6
+ metadata.gz: c1c8b6758eaa07ef22fe3d9094f113a18b2fcd562aff286444782e1dafaeeb7fbe2ecee3637acb49237866ed98110c820d74a85cdcd2b5e91763a0d4d8059722
7
+ data.tar.gz: f6481c1b6d7b5434ffe407ee7e215991ec19ebf94ed13389454af56393eada19d35e71885ac46d45bf5fd2d681ba926f1680d93764b5c272c169e8bdb636cd0e
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ cp -rf lib ../rms_sourceforge
3
+ cp -f rails_model_stacker.gemspec ../rms_sourceforge/rails_model_stacker.gemspec
4
+ cp -f license ../rms_sourceforge/license
@@ -8,14 +8,46 @@ module FactoryGirl
8
8
  ##
9
9
  #short hand sequence
10
10
  #+column+:: symbol of column name
11
- def auto_sequence column
12
- sequence(column) { |n| "#{column.to_s} #{n}" }
11
+ #+type+:: symbol of type, :text or :money
12
+ def auto_sequence column, type = :text
13
+ sequence(column) do |n|
14
+ generate_as_text n, column.to_s, type
15
+ end
16
+
13
17
  end
14
18
 
15
19
  ##
16
20
  #short hand sequence for multiple columns
17
21
  #+columns+:: array of symbols of column names
18
- def auto_sequencer columns
19
- columns.each { |k| sequence(k) }
22
+ def auto_sequencer columns, type
23
+ columns.each { |k| sequence(k, type) }
24
+ end
25
+
26
+ ##
27
+ #sequence with money output
28
+ def auto_money_sequence column
29
+ auto_sequence column, :money
30
+ end
31
+
32
+ ##
33
+ #multiple sequences with money type
34
+ def auto_monney_sequencer columns
35
+ auto_sequencer columns, :money
36
+ end
37
+
38
+ private
39
+ ##
40
+ #makes the text for auto_sequence
41
+ #+index+:: index of item
42
+ #+template+:: only the prepended text atm
43
+ #+type+:: symbol of type, will handle any symbol gracefully
44
+ def generate_as_text index, template, type
45
+ case type
46
+ when :money
47
+ "#{index}.#{rand(99)}"
48
+ else
49
+ "#{template} #{index}"
50
+ end
51
+
20
52
  end
21
53
  end
@@ -15,6 +15,18 @@ module RailsModelStacker
15
15
  attributes.each { |key| send(trait,key) }
16
16
  end
17
17
 
18
+ ##
19
+ #Declare traits for attributes
20
+ #
21
+ #+attributes+:: array of symbols of attributes
22
+ #+traits+:: array of symbols of traits
23
+ def declare_traits_for attributes, traits
24
+ attributes.each do |k|
25
+ traits.each { |t| sent(t, k) }
26
+ end
27
+
28
+ end
29
+
18
30
  ##
19
31
  #Ensures attributes will be present
20
32
  #+attributes+:: array of symbols of field names
@@ -51,6 +63,10 @@ module RailsModelStacker
51
63
  declare_trait_for attributes, :accepts_nested_attributes_for
52
64
  end
53
65
 
66
+ def declare_has_many_nested attributes
67
+ declare_taits_for attributes, [:has_and_belongs_to_many, :accepts_nested_attributes_for]
68
+ end
69
+
54
70
  end
55
71
  end
56
72
 
Binary file
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rails_model_stacker"
6
- s.version = "0.0.5"
6
+ s.version = "0.0.6"
7
7
  s.date = "2017-07-13"
8
8
  s.summary = "Rails Model Stacker"
9
9
  s.description = "Shorter Active Record validations and associations with RSpec and shoulda support"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_model_stacker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Petricone
@@ -74,10 +74,12 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - ".gitignore"
77
+ - build_sourceforge.sh
77
78
  - lib/rails_model_stacker/factory_stacker.rb
78
79
  - lib/rails_model_stacker/rms.rb
79
80
  - lib/rails_model_stacker/spec_stacker.rb
80
81
  - license
82
+ - rails_model_stacker-0.0.5.gem
81
83
  - rails_model_stacker.gemspec
82
84
  homepage:
83
85
  licenses: