modalfields 1.1.1 → 1.1.2

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
- 1.1.1
1
+ 1.1.2
@@ -263,7 +263,10 @@ module ModalFields
263
263
  def diff(model)
264
264
  # model.columns will fail if the table does not exist
265
265
  existing_fields = model.columns rescue []
266
- association_fields = model.reflect_on_all_associations(:belongs_to).map(&:primary_key_name).flatten.map(&:to_s)
266
+ # up to ActiveRecord 3.1 we had primary_key_name in AssociationReflection; not itis foreign_key
267
+ association_fields = model.reflect_on_all_associations(:belongs_to).map{ |r|
268
+ r.respond_to?(:primary_key_name) ? r.primary_key_name : r.foreign_key
269
+ }.flatten.map(&:to_s)
267
270
  pk_fields = Array(model.primary_key).map(&:to_s)
268
271
  case show_primary_keys
269
272
  when true
@@ -300,11 +303,11 @@ module ModalFields
300
303
  attr_keys = attrs.keys
301
304
  decl_attrs = attr_keys.map{|a|
302
305
  v = field_declaration.attributes[a]
303
- v==attrs[a] ? nil : v
306
+ v==attrs[a] ? nil : (v==false ? nil : v)
304
307
  }
305
308
  col_attrs = attr_keys.map{|a|
306
309
  v = column.attributes[a]
307
- v==attrs[a] ? nil : v
310
+ v==attrs[a] ? nil : (v==false ? nil : v)
308
311
  }
309
312
  if decl_attrs == col_attrs
310
313
  identical=true
@@ -0,0 +1,98 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "modalfields"
8
+ s.version = "1.1.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Javier Goizueta"]
12
+ s.date = "2012-04-24"
13
+ s.description = "ModelFields is a Rails plugin that adds fields declarations to your models."
14
+ s.email = "jgoizueta@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc",
18
+ "TODO"
19
+ ]
20
+ s.files = [
21
+ ".document",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "TODO",
28
+ "VERSION",
29
+ "lib/modalfields.rb",
30
+ "lib/modalfields/modalfields.rb",
31
+ "lib/modalfields/standardfields.rb",
32
+ "lib/modalfields/tasks.rb",
33
+ "lib/tasks/check.rake",
34
+ "lib/tasks/migrate.rake",
35
+ "lib/tasks/update.rake",
36
+ "modalfields.gemspec",
37
+ "test/create_database.rb",
38
+ "test/database.yml",
39
+ "test/helper.rb",
40
+ "test/model_cases/bare/after/author.rb",
41
+ "test/model_cases/bare/after/book.rb",
42
+ "test/model_cases/bare/before/author.rb",
43
+ "test/model_cases/bare/before/book.rb",
44
+ "test/model_cases/clean/after/author.rb",
45
+ "test/model_cases/clean/after/book.rb",
46
+ "test/model_cases/clean/before/author.rb",
47
+ "test/model_cases/clean/before/book.rb",
48
+ "test/model_cases/dirty/after/author.rb",
49
+ "test/model_cases/dirty/after/book.rb",
50
+ "test/model_cases/dirty/before/author.rb",
51
+ "test/model_cases/dirty/before/book.rb",
52
+ "test/schema.rb",
53
+ "test/test_diff.rb",
54
+ "test/test_update.rb"
55
+ ]
56
+ s.homepage = "http://github.com/jgoizueta/modalfields"
57
+ s.licenses = ["MIT"]
58
+ s.require_paths = ["lib"]
59
+ s.rubygems_version = "1.8.21"
60
+ s.summary = "Model annotator with Ruby (Hobo-like) syntax and hooks."
61
+
62
+ if s.respond_to? :specification_version then
63
+ s.specification_version = 3
64
+
65
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
66
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.3.5"])
67
+ s.add_runtime_dependency(%q<activerecord>, [">= 2.3.5"])
68
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
69
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
70
+ s.add_development_dependency(%q<bundler>, ["~> 1"])
71
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
72
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
73
+ s.add_development_dependency(%q<pg>, [">= 0"])
74
+ s.add_runtime_dependency(%q<rails>, [">= 2.3.0"])
75
+ else
76
+ s.add_dependency(%q<activesupport>, [">= 2.3.5"])
77
+ s.add_dependency(%q<activerecord>, [">= 2.3.5"])
78
+ s.add_dependency(%q<shoulda>, [">= 0"])
79
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
80
+ s.add_dependency(%q<bundler>, ["~> 1"])
81
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
82
+ s.add_dependency(%q<sqlite3>, [">= 0"])
83
+ s.add_dependency(%q<pg>, [">= 0"])
84
+ s.add_dependency(%q<rails>, [">= 2.3.0"])
85
+ end
86
+ else
87
+ s.add_dependency(%q<activesupport>, [">= 2.3.5"])
88
+ s.add_dependency(%q<activerecord>, [">= 2.3.5"])
89
+ s.add_dependency(%q<shoulda>, [">= 0"])
90
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
91
+ s.add_dependency(%q<bundler>, ["~> 1"])
92
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
93
+ s.add_dependency(%q<sqlite3>, [">= 0"])
94
+ s.add_dependency(%q<pg>, [">= 0"])
95
+ s.add_dependency(%q<rails>, [">= 2.3.0"])
96
+ end
97
+ end
98
+
@@ -24,21 +24,24 @@ end
24
24
 
25
25
  ENV['RAILS_ENV'] = 'test'
26
26
  ENV['RAILS_ROOT'] ||= File.dirname(__FILE__) # + '/../../../..'
27
-
27
+
28
28
  # require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config/environment.rb'))
29
29
 
30
30
  module Rails
31
31
  def self.root
32
32
  ENV['RAILS_ROOT']
33
33
  end
34
+ def version
35
+ ActiveRecord::VERSION::STRING
36
+ end
34
37
  end
35
-
38
+
36
39
  def load_schema
37
40
  config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml')).with_indifferent_access
38
41
  ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
39
-
42
+
40
43
  db_adapter = ENV['DB']
41
-
44
+
42
45
  # no db passed, try one of these fine config-free DBs before bombing.
43
46
  db_adapter ||=
44
47
  begin
@@ -47,15 +50,16 @@ def load_schema
47
50
  'sqlite3'
48
51
  rescue MissingSourceFile
49
52
  end
50
-
53
+
51
54
  if db_adapter.nil?
52
55
  raise "No DB Adapter selected. Pass the DB= option to pick one, or install Sqlite3."
53
56
  end
54
-
57
+
55
58
  require File.dirname(__FILE__) + '/create_database'
56
59
  create_database config[db_adapter]
57
-
60
+
58
61
  ActiveRecord::Base.establish_connection(config[db_adapter])
59
62
  load(File.dirname(__FILE__) + "/schema.rb")
60
- require File.dirname(__FILE__) + '/../rails/init'
63
+ require File.dirname(__FILE__) + '/../lib/modalfields'
64
+ ModalFields.enable
61
65
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modalfields
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-18 00:00:00.000000000 Z
12
+ date: 2012-04-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -179,6 +179,7 @@ files:
179
179
  - lib/tasks/check.rake
180
180
  - lib/tasks/migrate.rake
181
181
  - lib/tasks/update.rake
182
+ - modalfields.gemspec
182
183
  - test/create_database.rb
183
184
  - test/database.yml
184
185
  - test/helper.rb
@@ -212,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
213
  version: '0'
213
214
  segments:
214
215
  - 0
215
- hash: -737536039734340939
216
+ hash: 913054434622430133
216
217
  required_rubygems_version: !ruby/object:Gem::Requirement
217
218
  none: false
218
219
  requirements: