talentbox-sequel-rails 0.3.2 → 0.3.3

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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- talentbox-sequel-rails (0.3.2)
4
+ talentbox-sequel-rails (0.3.3)
5
5
  rails (~> 3.2.0)
6
6
  sequel (~> 3.28)
7
7
 
@@ -45,13 +45,13 @@ GEM
45
45
  hike (1.2.1)
46
46
  i18n (0.6.0)
47
47
  journey (1.0.3)
48
- json (1.6.6)
48
+ json (1.7.3)
49
49
  mail (2.4.4)
50
50
  i18n (>= 0.4.0)
51
51
  mime-types (~> 1.16)
52
52
  treetop (~> 1.4.8)
53
53
  mime-types (1.18)
54
- multi_json (1.3.2)
54
+ multi_json (1.3.5)
55
55
  polyglot (0.3.3)
56
56
  rack (1.4.1)
57
57
  rack-cache (1.2)
@@ -88,7 +88,7 @@ GEM
88
88
  diff-lcs (~> 1.1.2)
89
89
  rspec-mocks (2.7.0)
90
90
  sequel (3.34.1)
91
- sprockets (2.1.2)
91
+ sprockets (2.1.3)
92
92
  hike (~> 1.2)
93
93
  rack (~> 1.0)
94
94
  tilt (~> 1.1, != 1.3.0)
data/History.md CHANGED
@@ -1,42 +1,59 @@
1
- == 0.3.2
1
+ 0.3.3
2
+ =====
3
+
4
+ * Fix generators and use better model and migration template (Joshua Hansen)
5
+
6
+ 0.3.2
7
+ =====
2
8
  * Ignore environments without `database` key (like ActiveRecord do it), to allow
3
9
  shared configurations in `database.yml`.
4
10
  * Fix db creation commands to let the `system` method escape the arguments
5
11
  * Fix error when using `mysql2` gem
6
12
 
7
- == 0.3.1
13
+ 0.3.1
14
+ =====
8
15
  * Make `db:schema:dump` Rake task depends on Rails `environment` task (Gabor Ratky)
9
16
 
10
- == 0.3.0
17
+ 0.3.0
18
+ =====
11
19
  * Update dependency to Rails (~> 3.2.0)
12
20
 
13
- == 0.2.3
21
+ 0.2.3
22
+ =====
14
23
  * Set `PGPASSWORD` environment variable before trying to create DB using `createdb`
15
24
 
16
- == 0.2.2
25
+ 0.2.2
26
+ =====
17
27
  * Ensure Sequel is disconnected before trying to drop a db
18
28
 
19
- == 0.2.1
29
+ 0.2.1
30
+ =====
20
31
  * Make dependency on Sequel more open (~> 3.28)
21
32
 
22
- == 0.2.0
33
+ 0.2.0
34
+ =====
23
35
  * Fix deprecation warning for config.generators
24
36
  * Update dependency to Rails 3.1.1
25
37
  * Update dependency to Sequel 3.28.0
26
38
  * Update dependency to RSpec 2.7.0
27
39
 
28
- == 0.1.4
40
+ 0.1.4
41
+ =====
29
42
  * Merged in changes to rake tasks and timestamp migrations
30
43
 
31
- == 0.1.3
44
+ 0.1.3
45
+ =====
32
46
  * update sequel dependency, configuration change
33
47
 
34
- == 0.1.2
48
+ 0.1.2
49
+ =====
35
50
  * fixed log_subscriber bug that 0.1.1 was -supposed- to fix.
36
51
  * fixed controller_runtime bug
37
52
 
38
- == 0.1.1
53
+ 0.1.1
54
+ =====
39
55
  * bug fixes, no additional functionality
40
56
 
41
- == 0.1.0
57
+ 0.1.0
58
+ =====
42
59
  * initial release
@@ -89,6 +89,14 @@ This fork:
89
89
 
90
90
  * Jonathan Tron (JonathanTron)
91
91
 
92
+ == Contributors
93
+
94
+ Improvements has been made by those awesome contributors:
95
+
96
+ * Benjamin Atkin (benatkin)
97
+ * Gabor Ratky (rgabo)
98
+ * Joshua Hansen (binarypaladin)
99
+
92
100
  == Copyright
93
101
 
94
102
  Copyright (c) 2010 The sequel-rails team. See {LICENSE}[http://github.com/brasten/sequel-rails/blob/master/LICENSE] for details.
@@ -38,7 +38,7 @@ module Sequel
38
38
  end
39
39
 
40
40
  def self.find(klass, params=nil)
41
- "#{klass}.get(#{params})"
41
+ "#{klass}[#{params}]"
42
42
  end
43
43
 
44
44
  def self.build(klass, params=nil)
@@ -13,14 +13,29 @@ module Sequel
13
13
  migration_template "migration.rb", "db/migrate/#{file_name}.rb"
14
14
  end
15
15
 
16
- protected
17
-
18
- attr_reader :migration_action
16
+ attr_reader :migration_action, :table_action, :column_action, :use_change
19
17
 
18
+ protected
20
19
  def set_local_assigns!
21
- if file_name =~ /^(add|remove|drop)_.*_(?:to|from)_(.*)/
22
- @migration_action = $1 == 'add' ? 'add' : 'drop'
23
- @table_name = $2.pluralize
20
+ if file_name =~ /^(create|drop)_(.*)$/
21
+ @table_action = $1
22
+ @table_name = $2.pluralize
23
+ @column_action = 'add'
24
+ @use_change = @table_action == 'create' ? true : false
25
+ elsif file_name =~ /^(add|drop|remove)_.*_(?:to|from)_(.*)/
26
+ @table_action = 'alter'
27
+ @table_name = $2.pluralize
28
+ @column_action = $1 == 'add' ? 'add' : 'drop'
29
+ @use_change = @column_action == 'add' ? true : false
30
+ else
31
+ @table_action = 'alter'
32
+ if file_name =~ /^(alter)_(.*)/
33
+ @table_name = $2.pluralize
34
+ else
35
+ @table_name = file_name.pluralize
36
+ end
37
+ @use_change = false
38
+ @column_action = 'add'
24
39
  end
25
40
  end
26
41
 
@@ -1,16 +1,48 @@
1
- class <%= migration_file_name.camelize %>Migration < Sequel::Migration
2
-
3
- def up
4
- create_table :<%= table_name %> do
1
+ Sequel.migration do
2
+ <%- if use_change -%>
3
+ change do
4
+ <%= table_action %>_table :<%= table_name %> do
5
+ <%- if table_action == 'create' -%>
5
6
  primary_key :id
6
- <% attributes.each do |attribute| -%>
7
+ <%- end -%>
8
+ <%- attributes.each do |attribute| -%>
9
+ <%- if table_action == 'create' -%>
7
10
  <%= attribute.type_class %> :<%= attribute.name %>
8
- <% end -%>
11
+ <%- else -%>
12
+ <%= column_action %>_column :<%= attribute.name %><% if column_action == 'add' %>, <%= attribute.type_class %><% end %>
13
+ <%- end -%>
14
+ <%- end -%>
9
15
  end
10
16
  end
11
-
12
- def down
17
+ <%- else -%>
18
+ up do
19
+ <%- if table_action == 'drop' -%>
13
20
  drop_table :<%= table_name %>
21
+ <%- else -%>
22
+ <%= table_action %>_table :<%= table_name %> do
23
+ <%- attributes.each do |attribute| -%>
24
+ <%- if table_action == 'create' -%>
25
+ <%= attribute.type_class %> :<%= attribute.name %>
26
+ <%- else -%>
27
+ <%= column_action %>_column :<%= attribute.name %><% if column_action == 'add' %>, <%= attribute.type_class %><% end %>
28
+ <%- end -%>
29
+ <%- end -%>
30
+ end
31
+ <%- end -%>
32
+ end
33
+
34
+ down do
35
+ <%- alter_table_action = (table_action == 'drop') ? 'create' : table_action -%>
36
+ <%- alter_column_action = (column_action == 'add') ? 'drop' : 'add' -%>
37
+ <%= alter_table_action %>_table :<%= table_name %> do
38
+ <%- attributes.each do |attribute| -%>
39
+ <%- if alter_table_action == 'create' -%>
40
+ <%= attribute.type_class %> :<%= attribute.name %>
41
+ <%- else -%>
42
+ <%= alter_column_action %>_column :<%= attribute.name %><% if alter_column_action == 'add' %>, <%= attribute.type_class %><% end %>
43
+ <%- end -%>
44
+ <%- end -%>
45
+ end
14
46
  end
15
-
47
+ <%- end -%>
16
48
  end
@@ -8,9 +8,15 @@ module Sequel
8
8
 
9
9
  check_class_collision
10
10
 
11
+ class_option :migration, :type => :boolean
11
12
  class_option :timestamps, :type => :boolean
12
13
  class_option :parent, :type => :string, :desc => "The parent class for the generated model"
13
14
 
15
+ def create_migration_file
16
+ return unless options[:migration]
17
+ migration_template "migration.rb", "db/migrate/create_#{table_name}.rb"
18
+ end
19
+
14
20
  def create_model_file
15
21
  template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
16
22
  end
@@ -0,0 +1,16 @@
1
+ Sequel.migration do
2
+ change do
3
+
4
+ create_table :<%= table_name %> do
5
+ primary_key :id
6
+ <%- if options[:timestamps] -%>
7
+ DateTime :created_at
8
+ DateTime :updated_at
9
+ <%- end -%>
10
+ <%- attributes.each do |attribute| -%>
11
+ <%= attribute.type_class %> :<%= attribute.name %>
12
+ <%- end -%>
13
+ end
14
+
15
+ end
16
+ end
@@ -1,3 +1,6 @@
1
1
  class <%= class_name %><%= options[:parent] ? " < #{options[:parent].classify}" : " < Sequel::Model" %>
2
-
2
+ <%- if options[:timestamps] -%>
3
+ plugin :timestamps
4
+ <%- end -%>
5
+
3
6
  end
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module Sequel
3
- VERSION = "0.3.2"
3
+ VERSION = "0.3.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: talentbox-sequel-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-18 00:00:00.000000000 Z
13
+ date: 2012-06-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sequel
17
- requirement: &2166376760 !ruby/object:Gem::Requirement
17
+ requirement: &2162139960 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '3.28'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2166376760
25
+ version_requirements: *2162139960
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rails
28
- requirement: &2166392200 !ruby/object:Gem::Requirement
28
+ requirement: &2162137040 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2166392200
36
+ version_requirements: *2162137040
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rake
39
- requirement: &2166391160 !ruby/object:Gem::Requirement
39
+ requirement: &2162133700 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.8.7
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2166391160
47
+ version_requirements: *2162133700
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: yard
50
- requirement: &2166390060 !ruby/object:Gem::Requirement
50
+ requirement: &2162129900 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0.5'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2166390060
58
+ version_requirements: *2162129900
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rspec
61
- requirement: &2166389020 !ruby/object:Gem::Requirement
61
+ requirement: &2162126940 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 2.7.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2166389020
69
+ version_requirements: *2162126940
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: autotest
72
- requirement: &2166388360 !ruby/object:Gem::Requirement
72
+ requirement: &2162122940 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 4.4.6
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2166388360
80
+ version_requirements: *2162122940
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rcov
83
- requirement: &2166387540 !ruby/object:Gem::Requirement
83
+ requirement: &2162120160 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,7 +88,7 @@ dependencies:
88
88
  version: 0.9.11
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2166387540
91
+ version_requirements: *2162120160
92
92
  description: Integrate Sequel with Rails 3
93
93
  email:
94
94
  - brasten@gmail.com
@@ -112,6 +112,7 @@ files:
112
112
  - lib/generators/sequel/migration/migration_generator.rb
113
113
  - lib/generators/sequel/migration/templates/migration.rb
114
114
  - lib/generators/sequel/model/model_generator.rb
115
+ - lib/generators/sequel/model/templates/migration.rb
115
116
  - lib/generators/sequel/model/templates/model.rb
116
117
  - lib/generators/sequel/observer/observer_generator.rb
117
118
  - lib/generators/sequel/observer/templates/observer.rb
@@ -154,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
155
  version: '0'
155
156
  segments:
156
157
  - 0
157
- hash: -3768588127880768772
158
+ hash: 1061361385848004113
158
159
  required_rubygems_version: !ruby/object:Gem::Requirement
159
160
  none: false
160
161
  requirements:
@@ -163,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
164
  version: '0'
164
165
  segments:
165
166
  - 0
166
- hash: -3768588127880768772
167
+ hash: 1061361385848004113
167
168
  requirements: []
168
169
  rubyforge_project:
169
170
  rubygems_version: 1.8.15