power_enum 2.1.0 → 2.2.0

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OWQ0Y2ExMWRlNWRlNmNkOTUyMThiNmMxNDVjNDAwN2I4MWQxNGQ3Nw==
4
+ MGUyY2Y2OGNiNzZmNWEwNjZiNmY2NzcyNjI4NzQxMTQ4ZDcwYTJkNw==
5
5
  data.tar.gz: !binary |-
6
- NDZhNDNjNjI4ODNjYzZmYjU5MjhiNDUzMGJmZWRmNWJmYjQ1ZTgwNg==
6
+ MmMzZDk2ODM3OWY5OTZlMzY4ZmY4ZmI0MjQ4ZGMyMDc5NzEzNjdjNg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MGIzM2ZhYzhmMWQ5Y2U3MDNiMzVjYmExOTA1ZmM5ZmQyYWZlYTI1NTMyNWFi
10
- NTkwYTQyOTI0ZGI0NDgwYjdiMDFhNmYwZTg3NzYyMWVlMDk0ZmYxOTg0MDky
11
- ZWQwOTc2MGEzMDI2ZmZmMDUyZDhlMjc1YmY3ZGZjOGNkNTgzYzU=
9
+ NzY3NTQ4MWUzMjJmNmI4MjU1OTM3NDQxNGM0ODE3MzAzYTRmMDIyZmZjM2Ji
10
+ ZTdiMWY2M2U1OThkMTJlM2QzYTU5YWFjOWFiM2QxODE1ODc1OWMwYzdkMjk4
11
+ ZTFmODZhNTI2NzBhMTJlM2RjMTQ2ZWJjNTY5NjU0OWI0OWUxN2Q=
12
12
  data.tar.gz: !binary |-
13
- M2M0ZWQ3ZmNhYzNhNGEzNDNmZWZjOTU0ODAzM2FjMWIyN2Q1YzFkOTQxMGY0
14
- ZDdjMjE3NzU3ZGUwNmZlMmIwZmYzMWZmNGJlNTZkMzA4ZTg0MDdiOTgxODYy
15
- NWUxNmY3NmUyNGJmYTc1YTM1NTE4ZTkxNDgwZmEyMmU2N2RmMWU=
13
+ OWY2NDRlYWNmZWEzMDFiZWUzMWIxNzg2YjAzOTU0M2QyZTYxYmZlMGZmZTY1
14
+ ZDk5NDc5NDc0NzQyZGRlMWRhYmI1OTg2NjRkYTFkZGU2NTYzN2M0NzM3NTEy
15
+ ZDU5ZmE4ZDM5YTg1MWNiMjQ2ZWY0N2Q5NzM0N2Q4ODgyOTc1NWQ=
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -2,12 +2,12 @@
2
2
  # Released under the MIT license. See LICENSE for details.
3
3
 
4
4
  # Generator for PowerEnum
5
- class EnumGenerator < Rails::Generators::Base
5
+ class EnumGenerator < Rails::Generators::NamedBase
6
6
  require File.expand_path('../enum_generator_helpers/migration_number', __FILE__)
7
- include EnumGeneratorHelpers::MigrationNumber
7
+ include Rails::Generators::Migration
8
+ extend EnumGeneratorHelpers::MigrationNumber
8
9
 
9
10
  source_root File.expand_path('../templates', __FILE__)
10
- argument :enum_name, :type => :string
11
11
  class_option :migration, :type => :boolean, :default => true, :desc => 'Generate migration for the enum'
12
12
  class_option :fixture, :type => :boolean, :default => false, :desc => 'Generate fixture for the enum'
13
13
 
@@ -18,45 +18,17 @@ class EnumGenerator < Rails::Generators::Base
18
18
 
19
19
  # Generates the migration to create the enum table.
20
20
  def generate_migration
21
- template migration_template, "db/migrate/#{migration_file_name}.rb" if options.migration?
21
+ migration_template 'rails31_migration.rb.erb', "db/migrate/create_enum_#{table_name}.rb" if options.migration?
22
22
  end
23
23
 
24
- hook_for :test_framework, :as => :model do |enum_generator_instance, test_generator_class|
25
- # Need to do this because I'm changing the default value of the 'fixture' option.
26
- enum_generator_instance.invoke( test_generator_class, [enum_generator_instance.enum_name], { 'fixture' => enum_generator_instance.options.fixture? } )
24
+ # Do not pluralize enumeration names
25
+ def pluralize_table_names?
26
+ false
27
27
  end
28
-
29
- no_tasks do
30
-
31
- # Returns the file name of the enum model without the .rb extension.
32
- def file_name
33
- enum_name.underscore
34
- end
35
-
36
- # Returns the class name of the enum.
37
- def enum_class_name
38
- file_name.camelize
39
- end
40
-
41
- # Derives the name for the migration, something like 'create_enum_fruit'
42
- def migration_name
43
- "create_enum_#{file_name}"
44
- end
45
-
46
- # Returns the class name of our migration
47
- def migration_class_name
48
- migration_name.camelize
49
- end
50
-
51
- # Generates and returns the filename of our migration
52
- def migration_file_name
53
- "#{next_migration_number}_#{migration_name}"
54
- end
55
-
56
- # Returns the name of the template file for the migration.
57
- def migration_template
58
- 'rails31_migration.rb.erb'
59
- end
60
28
 
29
+ hook_for :test_framework, :as => :model do |enum_generator_instance, test_generator_class|
30
+ # Need to do this because I'm changing the default value of the 'fixture' option.
31
+ table_name = enum_generator_instance.send(:table_name)
32
+ enum_generator_instance.invoke( test_generator_class, [table_name], { 'fixture' => enum_generator_instance.options.fixture? } )
61
33
  end
62
34
  end
@@ -2,23 +2,13 @@
2
2
  module EnumGeneratorHelpers
3
3
  # Helper methods to figure out the migration number.
4
4
  module MigrationNumber
5
-
6
- # Returns the number of the last migration.
7
- # @return [Fixnum]
8
- def current_migration_number
9
- dirname = "#{Rails.root}/db/migrate/[0-9]*_*.rb"
10
- Dir.glob(dirname).collect do |file|
11
- File.basename(file).split("_").first.to_i
12
- end.max.to_i
13
- end
14
-
15
5
  # Returns the next upcoming migration number. Sadly, Rails has no API for
16
6
  # this, so we're reduced to copying from ActiveRecord::Generators::Migration
17
7
  # @return [Fixnum]
18
- def next_migration_number
8
+ def next_migration_number(dirname)
19
9
  # Lifted directly from ActiveRecord::Generators::Migration
20
10
  # Unfortunately, no API is provided by Rails at this time.
21
- next_migration_number = current_migration_number + 1
11
+ next_migration_number = current_migration_number(dirname) + 1
22
12
  if ActiveRecord::Base.timestamped_migrations
23
13
  [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
24
14
  else
@@ -27,4 +17,4 @@ module EnumGeneratorHelpers
27
17
  end
28
18
 
29
19
  end
30
- end
20
+ end
@@ -1,3 +1,3 @@
1
- class <%= enum_class_name %> < ActiveRecord::Base
1
+ class <%= class_name %> < ActiveRecord::Base
2
2
  acts_as_enumerated
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trevor Squires
@@ -39,7 +39,7 @@ cert_chain:
39
39
  amZaYUtWM2wwYTFkR2wyUVNMa2pScFFaRDFiRCtVSDdnT3F5N1piZGNzUkJM
40
40
  NEg3VTV6VQpibEtkZEg2dXhDckRTTTdLYWJrelNPVmYKLS0tLS1FTkQgQ0VS
41
41
  VElGSUNBVEUtLS0tLQo=
42
- date: 2013-10-25 00:00:00.000000000 Z
42
+ date: 2014-01-21 00:00:00.000000000 Z
43
43
  dependencies:
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: rails
@@ -117,14 +117,14 @@ dependencies:
117
117
  requirements:
118
118
  - - ! '>='
119
119
  - !ruby/object:Gem::Version
120
- version: 0.2.7
120
+ version: 0.2.8
121
121
  type: :development
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ! '>='
126
126
  - !ruby/object:Gem::Version
127
- version: 0.2.7
127
+ version: 0.2.8
128
128
  description: ! 'Power Enum allows you to treat instances of your ActiveRecord models
129
129
  as though they were an enumeration of values.
130
130
 
@@ -188,4 +188,3 @@ specification_version: 4
188
188
  summary: Allows you to treat instances of your ActiveRecord models as though they
189
189
  were an enumeration of values
190
190
  test_files: []
191
- has_rdoc:
metadata.gz.sig CHANGED
@@ -1,3 +1 @@
1
- Po��c Z`Q�QB�W�A�+�>��>������m�*� �,�ʿ���YzB�z,�槡Yc��/�V|=�8����b���gY��<��$ ��"UXm�Ln�&iS�y���9C���#W=~B��=���NjX����ʔL�)+�%����'2ܺ�}�#w�#��
2
- �9�¡�����$ѥ�)����X�|̺�S�<�J�ռ��
3
- ��6�{��`�*�fq�LYB]�8@ܮ7���
1
+ ��Ȗ�R����3t@j]�@W/Ehx3�<���&H!�xV_Ξh`�(`n\M���b�|�z~��G���Q<���g� J*�S���~�%B�);$i���T��S��pi Dޞ��%$�h��<������υ��Q[���x��?�]��L���e����>�kuˏ<}@�9����