has_metadata 1.0.0 → 1.1.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.
data/Gemfile CHANGED
@@ -1,14 +1,11 @@
1
1
  source :rubygems
2
2
 
3
- # DEPENDENCIES
4
3
  gem 'rails', '>= 3.0'
5
4
 
6
- # DEVELOPMENT
7
- gem 'jeweler'
8
- gem 'yard'
9
- gem 'RedCloth', require: 'redcloth'
10
- gem 'sqlite3'
11
-
12
- # TEST
13
- gem 'rspec'
14
-
5
+ group :development do
6
+ gem 'jeweler'
7
+ gem 'yard'
8
+ gem 'RedCloth', require: 'redcloth'
9
+ gem 'sqlite3'
10
+ gem 'rspec'
11
+ end
data/Gemfile.lock CHANGED
@@ -3,49 +3,46 @@ GEM
3
3
  specs:
4
4
  RedCloth (4.2.3)
5
5
  abstract (1.0.0)
6
- actionmailer (3.0.1)
7
- actionpack (= 3.0.1)
8
- mail (~> 2.2.5)
9
- actionpack (3.0.1)
10
- activemodel (= 3.0.1)
11
- activesupport (= 3.0.1)
6
+ actionmailer (3.0.3)
7
+ actionpack (= 3.0.3)
8
+ mail (~> 2.2.9)
9
+ actionpack (3.0.3)
10
+ activemodel (= 3.0.3)
11
+ activesupport (= 3.0.3)
12
12
  builder (~> 2.1.2)
13
13
  erubis (~> 2.6.6)
14
- i18n (~> 0.4.1)
14
+ i18n (~> 0.4)
15
15
  rack (~> 1.2.1)
16
- rack-mount (~> 0.6.12)
17
- rack-test (~> 0.5.4)
16
+ rack-mount (~> 0.6.13)
17
+ rack-test (~> 0.5.6)
18
18
  tzinfo (~> 0.3.23)
19
- activemodel (3.0.1)
20
- activesupport (= 3.0.1)
19
+ activemodel (3.0.3)
20
+ activesupport (= 3.0.3)
21
21
  builder (~> 2.1.2)
22
- i18n (~> 0.4.1)
23
- activerecord (3.0.1)
24
- activemodel (= 3.0.1)
25
- activesupport (= 3.0.1)
26
- arel (~> 1.0.0)
22
+ i18n (~> 0.4)
23
+ activerecord (3.0.3)
24
+ activemodel (= 3.0.3)
25
+ activesupport (= 3.0.3)
26
+ arel (~> 2.0.2)
27
27
  tzinfo (~> 0.3.23)
28
- activeresource (3.0.1)
29
- activemodel (= 3.0.1)
30
- activesupport (= 3.0.1)
31
- activesupport (3.0.1)
32
- arel (1.0.1)
33
- activesupport (~> 3.0.0)
28
+ activeresource (3.0.3)
29
+ activemodel (= 3.0.3)
30
+ activesupport (= 3.0.3)
31
+ activesupport (3.0.3)
32
+ arel (2.0.3)
34
33
  builder (2.1.2)
35
34
  diff-lcs (1.1.2)
36
35
  erubis (2.6.6)
37
36
  abstract (>= 1.0.0)
38
37
  ffi (0.6.3)
39
38
  rake (>= 0.8.7)
40
- gemcutter (0.6.1)
41
39
  git (1.2.5)
42
40
  i18n (0.4.2)
43
- jeweler (1.4.0)
44
- gemcutter (>= 0.1.0)
41
+ jeweler (1.5.1)
42
+ bundler (~> 1.0.0)
45
43
  git (>= 1.2.5)
46
- rubyforge (>= 2.0.0)
47
- json_pure (1.4.6)
48
- mail (2.2.9)
44
+ rake
45
+ mail (2.2.10)
49
46
  activesupport (>= 2.3.6)
50
47
  i18n (~> 0.4.1)
51
48
  mime-types (~> 1.16)
@@ -57,39 +54,35 @@ GEM
57
54
  rack (>= 1.0.0)
58
55
  rack-test (0.5.6)
59
56
  rack (>= 1.0)
60
- rails (3.0.1)
61
- actionmailer (= 3.0.1)
62
- actionpack (= 3.0.1)
63
- activerecord (= 3.0.1)
64
- activeresource (= 3.0.1)
65
- activesupport (= 3.0.1)
66
- bundler (~> 1.0.0)
67
- railties (= 3.0.1)
68
- railties (3.0.1)
69
- actionpack (= 3.0.1)
70
- activesupport (= 3.0.1)
71
- rake (>= 0.8.4)
72
- thor (~> 0.14.0)
57
+ rails (3.0.3)
58
+ actionmailer (= 3.0.3)
59
+ actionpack (= 3.0.3)
60
+ activerecord (= 3.0.3)
61
+ activeresource (= 3.0.3)
62
+ activesupport (= 3.0.3)
63
+ bundler (~> 1.0)
64
+ railties (= 3.0.3)
65
+ railties (3.0.3)
66
+ actionpack (= 3.0.3)
67
+ activesupport (= 3.0.3)
68
+ rake (>= 0.8.7)
69
+ thor (~> 0.14.4)
73
70
  rake (0.8.7)
74
- rspec (2.0.1)
75
- rspec-core (~> 2.0.1)
76
- rspec-expectations (~> 2.0.1)
77
- rspec-mocks (~> 2.0.1)
78
- rspec-core (2.0.1)
79
- rspec-expectations (2.0.1)
80
- diff-lcs (>= 1.1.2)
81
- rspec-mocks (2.0.1)
82
- rspec-core (~> 2.0.1)
83
- rspec-expectations (~> 2.0.1)
84
- rubyforge (2.0.4)
85
- json_pure (>= 1.1.7)
71
+ rspec (2.1.0)
72
+ rspec-core (~> 2.1.0)
73
+ rspec-expectations (~> 2.1.0)
74
+ rspec-mocks (~> 2.1.0)
75
+ rspec-core (2.1.0)
76
+ rspec-expectations (2.1.0)
77
+ diff-lcs (~> 1.1.2)
78
+ rspec-mocks (2.1.0)
86
79
  sqlite3 (0.1.1)
87
80
  ffi (>= 0.6.3)
88
- thor (0.14.3)
89
- treetop (1.4.8)
81
+ thor (0.14.4)
82
+ treetop (1.4.9)
90
83
  polyglot (>= 0.3.1)
91
84
  tzinfo (0.3.23)
92
- yard (0.6.1)
85
+ yard (0.6.2)
93
86
 
94
87
  PLATFORMS
95
88
  ruby
@@ -101,3 +94,6 @@ DEPENDENCIES
101
94
  rspec
102
95
  sqlite3
103
96
  yard
97
+
98
+ METADATA
99
+ version: 1.0.6
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Tim Morgan
1
+ Copyright (c) 2010 Tim Morgan
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.textile CHANGED
@@ -1,9 +1,30 @@
1
1
  h1. has_metadata -- Keep your tables narrow
2
2
 
3
3
  | *Author* | Tim Morgan |
4
- | *Version* | 1.0 (Oct 29, 2010) |
4
+ | *Version* | 1.1 (Nov 16, 2010) |
5
5
  | *License* | Released under the MIT License. |
6
6
 
7
+ h2. Important note for those upgrading from 1.0 to 1.1
8
+
9
+ You must re-run the @rails generate metadata@ task to update your @Metadata@
10
+ model. When finished, your @app/models/metadata.rb@ file should look like:
11
+
12
+ <pre><code>
13
+ # Stores information about a model that doesn't need to be in that model's
14
+ # table. Each row in the @metadata@ table stores a schemaless, serialized hash
15
+ # of data associated with a model instance. Any model can have an associated row
16
+ # in the @metadata@ table by using the {HasMetadata} module.
17
+ #
18
+ # h2. Properties
19
+ #
20
+ # | @data@ | A hash of this metadata's contents (YAML serialized in the database). |
21
+
22
+ class Metadata &lt; HasMetadata::Model
23
+ end
24
+ </code></pre>
25
+
26
+ Note that this is significantly emptier than the previous model.
27
+
7
28
  h2. About
8
29
 
9
30
  Wide tables are a problem for big databases. If your @ActiveRecord@ models have
@@ -66,7 +87,7 @@ t.belongs_to :metadata
66
87
 
67
88
  Next, include the @HasMetadata@ module in your model, and call the
68
89
  @has_metadata@ method to define the schema of your metadata. You can get more
69
- information in the @has_metadata@ documentation, but for starters, here's a
90
+ information in the {HasMetadata::ClassMethods#has_metadata} documentation, but for starters, here's a
70
91
  basic example:
71
92
 
72
93
  <pre><code>
data/Rakefile CHANGED
@@ -1,13 +1,15 @@
1
- require 'rake'
1
+ require 'rubygems'
2
+ require 'bundler'
2
3
  begin
3
- require 'bundler'
4
- rescue LoadError
5
- puts "Bundler is not installed; install with `gem install bundler`."
6
- exit 1
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
7
9
  end
10
+ require 'rake'
8
11
 
9
- Bundler.require :default
10
-
12
+ require 'jeweler'
11
13
  Jeweler::Tasks.new do |gem|
12
14
  gem.name = "has_metadata"
13
15
  gem.summary = %Q{Reduce your table width by moving non-indexed columns to a separate metadata table}
@@ -16,13 +18,13 @@ Jeweler::Tasks.new do |gem|
16
18
  gem.homepage = "http://github.com/riscfuture/has_metadata"
17
19
  gem.authors = [ "Tim Morgan" ]
18
20
  gem.required_ruby_version = '>= 1.9'
19
- gem.add_dependency "rails", ">= 3.0"
20
21
  end
21
- Jeweler::GemcutterTasks.new
22
+ Jeweler::RubygemsDotOrgTasks.new
22
23
 
23
24
  require 'rspec/core/rake_task'
24
25
  RSpec::Core::RakeTask.new
25
26
 
27
+ require 'yard'
26
28
  YARD::Rake::YardocTask.new('doc') do |doc|
27
29
  doc.options << "-m" << "textile"
28
30
  doc.options << "--protected"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
data/has_metadata.gemspec CHANGED
@@ -1,50 +1,49 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{has_metadata}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tim Morgan"]
12
- s.date = %q{2010-10-30}
12
+ s.date = %q{2010-11-17}
13
13
  s.description = %q{has_metadata lets you move non-indexed and weighty columns off of your big tables by creating a separate metadata table to store all this extra information. Works with Ruby 1.9. and Rails 3.0.}
14
14
  s.email = %q{git@timothymorgan.info}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.textile"
17
+ "README.textile"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- ".rspec",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "LICENSE",
26
- "README.textile",
27
- "Rakefile",
28
- "VERSION",
29
- "has_metadata.gemspec",
30
- "lib/has_metadata.rb",
31
- "lib/metadata_generator.rb",
32
- "spec/has_metadata_spec.rb",
33
- "spec/metadata_spec.rb",
34
- "spec/spec_helper.rb",
35
- "templates/create_metadata.rb",
36
- "templates/metadata.rb"
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE",
25
+ "README.textile",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "has_metadata.gemspec",
29
+ "lib/has_metadata.rb",
30
+ "lib/has_metadata/metadata_generator.rb",
31
+ "lib/has_metadata/model.rb",
32
+ "spec/has_metadata_spec.rb",
33
+ "spec/metadata_spec.rb",
34
+ "spec/spec_helper.rb",
35
+ "templates/create_metadata.rb",
36
+ "templates/metadata.rb"
37
37
  ]
38
38
  s.homepage = %q{http://github.com/riscfuture/has_metadata}
39
- s.rdoc_options = ["--charset=UTF-8"]
40
39
  s.require_paths = ["lib"]
41
40
  s.required_ruby_version = Gem::Requirement.new(">= 1.9")
42
41
  s.rubygems_version = %q{1.3.7}
43
42
  s.summary = %q{Reduce your table width by moving non-indexed columns to a separate metadata table}
44
43
  s.test_files = [
45
44
  "spec/has_metadata_spec.rb",
46
- "spec/metadata_spec.rb",
47
- "spec/spec_helper.rb"
45
+ "spec/metadata_spec.rb",
46
+ "spec/spec_helper.rb"
48
47
  ]
49
48
 
50
49
  if s.respond_to? :specification_version then
@@ -53,11 +52,26 @@ Gem::Specification.new do |s|
53
52
 
54
53
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
54
  s.add_runtime_dependency(%q<rails>, [">= 3.0"])
55
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
56
+ s.add_development_dependency(%q<yard>, [">= 0"])
57
+ s.add_development_dependency(%q<RedCloth>, [">= 0"])
58
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
59
+ s.add_development_dependency(%q<rspec>, [">= 0"])
56
60
  else
57
61
  s.add_dependency(%q<rails>, [">= 3.0"])
62
+ s.add_dependency(%q<jeweler>, [">= 0"])
63
+ s.add_dependency(%q<yard>, [">= 0"])
64
+ s.add_dependency(%q<RedCloth>, [">= 0"])
65
+ s.add_dependency(%q<sqlite3>, [">= 0"])
66
+ s.add_dependency(%q<rspec>, [">= 0"])
58
67
  end
59
68
  else
60
69
  s.add_dependency(%q<rails>, [">= 3.0"])
70
+ s.add_dependency(%q<jeweler>, [">= 0"])
71
+ s.add_dependency(%q<yard>, [">= 0"])
72
+ s.add_dependency(%q<RedCloth>, [">= 0"])
73
+ s.add_dependency(%q<sqlite3>, [">= 0"])
74
+ s.add_dependency(%q<rspec>, [">= 0"])
61
75
  end
62
76
  end
63
77
 
@@ -6,7 +6,7 @@ require 'rails/generators/migration'
6
6
  class MetadataGenerator < Rails::Generators::Base
7
7
  include Rails::Generators::Migration
8
8
 
9
- source_root "#{File.dirname __FILE__}/../templates"
9
+ source_root "#{File.dirname __FILE__}/../../templates"
10
10
 
11
11
  def self.next_migration_number(dirname)
12
12
  if ActiveRecord::Base.timestamped_migrations then
@@ -0,0 +1,40 @@
1
+ module HasMetadata
2
+
3
+ # Base class of the {Metadata} model. Functionality is moved to this class to
4
+ # make changes to the model easier. See the @Metadata@ method for more
5
+ # information.
6
+
7
+ class Model < ActiveRecord::Base
8
+ set_table_name 'metadata'
9
+ serialize :data, Hash
10
+
11
+ after_initialize :initialize_data
12
+ before_save :nullify_empty_fields
13
+
14
+ validates :data,
15
+ presence: true
16
+
17
+ # @private
18
+ def set_fields(fields)
19
+ return self if @fields_set
20
+ @fields_set = true
21
+
22
+ fields.each do |name, _|
23
+ singleton_class.send(:define_method, name) { |default=nil| data.include?(name) ? data[name] : default }
24
+ singleton_class.send(:define_method, :"#{name}=") { |value| data[name] = value }
25
+ end
26
+
27
+ self
28
+ end
29
+
30
+ private
31
+
32
+ def initialize_data
33
+ self.data ||= Hash.new
34
+ end
35
+
36
+ def nullify_empty_fields
37
+ data.each { |key, value| data[key] = nil if data[key].blank? }
38
+ end
39
+ end
40
+ end
data/lib/has_metadata.rb CHANGED
@@ -1,4 +1,5 @@
1
- require 'metadata_generator'
1
+ require 'has_metadata/metadata_generator'
2
+ require 'has_metadata/model'
2
3
 
3
4
  # @private
4
5
  class Object
@@ -6,7 +7,7 @@ class Object
6
7
  # Creates a deep copy of this object.
7
8
  #
8
9
  # @raise [TypeError] If the object cannot be deep-copied. All objects that can
9
- # be marshalled can be deep-copied.
10
+ # be marshalled can be deep-copied.
10
11
 
11
12
  def deep_clone
12
13
  Marshal.load Marshal.dump(self)
@@ -30,9 +31,12 @@ module HasMetadata
30
31
  # key value.
31
32
  #
32
33
  # In addition to the normal @validates@ keys, you can also include a @:type@
33
- # key to restrict values to certain classes.
34
+ # key to restrict values to certain classes, or a @:default@ key to specify
35
+ # a value to return for the getter should none be set (normal default is
36
+ # @nil@).
34
37
  #
35
- # @param [Hash<Symbol, Hash>] fields A mapping of field names to their validation options (and/or the @:type@ key).
38
+ # @param [Hash<Symbol, Hash>] fields A mapping of field names to their
39
+ # validation options (and/or the @:type@ key).
36
40
  #
37
41
  # @example Three metadata fields, one basic, one validated, and one type-checked.
38
42
  # has_metadata(optional: true, required: { presence: true }, number: { type: Fixnum })
@@ -48,17 +52,23 @@ module HasMetadata
48
52
  #define_method(:metadata_changed?) { metadata and metadata.changed? }
49
53
 
50
54
  fields.each do |name, options|
51
- delegate name, to: :metadata!
52
55
  delegate :"#{name}=", to: :metadata!
53
-
56
+
54
57
  if options.kind_of?(Hash) then
55
- type = options.delete(:type)
56
- validate do |obj|
57
- errors.add(name, :incorrect_type) unless
58
- metadata_typecast(obj.send(name), type).kind_of?(type) or
59
- ((options[:allow_nil] and obj.send(name).nil?) or (options[:allow_blank] and obj.send(name).blank?))
60
- end if type
61
- validates(name, options) unless options.empty? or (options.keys - [ :allow_nil, :allow_blank ]).empty?
58
+ default = options.delete(:default)
59
+ define_method(name) { metadata!.send(name, default) }
60
+
61
+ unless options.empty?
62
+ type = options.delete(:type)
63
+ validate do |obj|
64
+ errors.add(name, :incorrect_type) unless
65
+ metadata_typecast(obj.send(name), type).kind_of?(type) or
66
+ ((options[:allow_nil] and obj.send(name).nil?) or (options[:allow_blank] and obj.send(name).blank?))
67
+ end if type
68
+ validates(name, options) unless options.empty? or (options.keys - [ :allow_nil, :allow_blank ]).empty?
69
+ end
70
+ else
71
+ delegate name, to: :metadata!
62
72
  end
63
73
  end
64
74
  end
@@ -103,7 +113,8 @@ module HasMetadata
103
113
  super(pairs - fake_attributes)
104
114
  end
105
115
 
106
- # @return [Metadata] An existing associated {Metadata} instance, or new, saved one if none was found.
116
+ # @return [Metadata] An existing associated {Metadata} instance, or new,
117
+ # saved one if none was found.
107
118
 
108
119
  def metadata!
109
120
  if instance_variables.include?(:@metadata) then
@@ -14,7 +14,8 @@ module SpecSupport
14
14
  can_be_nil: { type: Date, allow_nil: true },
15
15
  can_be_blank: { type: Date, allow_blank: true },
16
16
  number: { numericality: true },
17
- multiparam: { type: SpecSupport::ConstructorTester }
17
+ multiparam: { type: SpecSupport::ConstructorTester },
18
+ has_default: { default: 'default' }
18
19
  })
19
20
  end
20
21
  end
@@ -53,6 +54,15 @@ describe HasMetadata do
53
54
 
54
55
  @object.untyped.should be_nil
55
56
  end
57
+
58
+ it "should return a default if one is specified" do
59
+ @object.has_default.should eql('default')
60
+ end
61
+
62
+ it "should return nil if nil is stored and the default is not nil" do
63
+ @metadata.data[:has_default] = nil
64
+ @object.has_default.should eql(nil)
65
+ end
56
66
  end
57
67
 
58
68
  it "should make a setter for each field" do
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,3 @@
1
- Bundler.require :default, :test
2
1
  require 'active_support'
3
2
  require 'active_record'
4
3
 
@@ -1,4 +1,4 @@
1
- class CreateMetadatas < ActiveRecord::Migration
1
+ class CreateMetadata < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :metadata do |t|
4
4
  t.text :data, null: false
@@ -7,36 +7,5 @@
7
7
  #
8
8
  # | @data@ | A hash of this metadata's contents (YAML serialized in the database). |
9
9
 
10
- class Metadata < ActiveRecord::Base
11
- set_table_name 'metadata'
12
- serialize :data, Hash
13
-
14
- after_initialize :initialize_data
15
- before_save :nullify_empty_fields
16
-
17
- validates :data,
18
- presence: true
19
-
20
- # @private
21
- def set_fields(fields)
22
- return self if @fields_set
23
- @fields_set = true
24
-
25
- fields.each do |name, _|
26
- singleton_class.send(:define_method, name) { data[name] }
27
- singleton_class.send(:define_method, :"#{name}=") { |value| data[name] = value }
28
- end
29
-
30
- self
31
- end
32
-
33
- private
34
-
35
- def initialize_data
36
- self.data ||= Hash.new
37
- end
38
-
39
- def nullify_empty_fields
40
- data.each { |key, value| data[key] = nil if data[key].blank? }
41
- end
10
+ class Metadata < HasMetadata::Model
42
11
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
+ - 1
7
8
  - 0
8
- - 0
9
- version: 1.0.0
9
+ version: 1.1.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Tim Morgan
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-30 00:00:00 -07:00
17
+ date: 2010-11-17 00:00:00 -08:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -31,6 +31,71 @@ dependencies:
31
31
  type: :runtime
32
32
  prerelease: false
33
33
  version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: jeweler
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *id002
47
+ - !ruby/object:Gem::Dependency
48
+ name: yard
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: *id003
60
+ - !ruby/object:Gem::Dependency
61
+ name: RedCloth
62
+ requirement: &id004 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ version: "0"
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: *id004
73
+ - !ruby/object:Gem::Dependency
74
+ name: sqlite3
75
+ requirement: &id005 !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ segments:
81
+ - 0
82
+ version: "0"
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: *id005
86
+ - !ruby/object:Gem::Dependency
87
+ name: rspec
88
+ requirement: &id006 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: *id006
34
99
  description: has_metadata lets you move non-indexed and weighty columns off of your big tables by creating a separate metadata table to store all this extra information. Works with Ruby 1.9. and Rails 3.0.
35
100
  email: git@timothymorgan.info
36
101
  executables: []
@@ -42,7 +107,6 @@ extra_rdoc_files:
42
107
  - README.textile
43
108
  files:
44
109
  - .document
45
- - .gitignore
46
110
  - .rspec
47
111
  - Gemfile
48
112
  - Gemfile.lock
@@ -52,7 +116,8 @@ files:
52
116
  - VERSION
53
117
  - has_metadata.gemspec
54
118
  - lib/has_metadata.rb
55
- - lib/metadata_generator.rb
119
+ - lib/has_metadata/metadata_generator.rb
120
+ - lib/has_metadata/model.rb
56
121
  - spec/has_metadata_spec.rb
57
122
  - spec/metadata_spec.rb
58
123
  - spec/spec_helper.rb
@@ -63,8 +128,8 @@ homepage: http://github.com/riscfuture/has_metadata
63
128
  licenses: []
64
129
 
65
130
  post_install_message:
66
- rdoc_options:
67
- - --charset=UTF-8
131
+ rdoc_options: []
132
+
68
133
  require_paths:
69
134
  - lib
70
135
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,26 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
- .bundle
21
- .rvmrc
22
- test.sqlite
23
-
24
- ## PROJECT::DOCUMENTATION
25
- .yardoc
26
- doc