active_record_content_blob 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,15 +1,20 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  group :development do
4
- gem "rspec", "~> 2.14.0"
4
+ gem 'rspec', '~> 2.14.0'
5
+
5
6
  gem "bundler"
6
7
  gem "jeweler", "~> 1.8.4"
7
8
  gem 'database_cleaner'
8
9
  gem "pry"
9
10
  gem "rdoc", "~> 3.12"
11
+ # gem "generator_spec" # wished this helped...
12
+
13
+
10
14
  end
11
15
 
16
+ gem 'rails', '3.2.14'
12
17
 
13
18
  gem 'sqlite3'
14
- gem 'activesupport', ">=3.2.12"
15
- gem 'activerecord', ">=3.2.12"
19
+ #gem 'activesupport', ">=3.2.14"
20
+ #gem 'activerecord', ">=3.2.14"
@@ -1,28 +1,40 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activemodel (4.0.0)
5
- activesupport (= 4.0.0)
6
- builder (~> 3.1.0)
7
- activerecord (4.0.0)
8
- activemodel (= 4.0.0)
9
- activerecord-deprecated_finders (~> 1.0.2)
10
- activesupport (= 4.0.0)
11
- arel (~> 4.0.0)
12
- activerecord-deprecated_finders (1.0.3)
13
- activesupport (4.0.0)
4
+ actionmailer (3.2.14)
5
+ actionpack (= 3.2.14)
6
+ mail (~> 2.5.4)
7
+ actionpack (3.2.14)
8
+ activemodel (= 3.2.14)
9
+ activesupport (= 3.2.14)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ journey (~> 1.0.4)
13
+ rack (~> 1.4.5)
14
+ rack-cache (~> 1.2)
15
+ rack-test (~> 0.6.1)
16
+ sprockets (~> 2.2.1)
17
+ activemodel (3.2.14)
18
+ activesupport (= 3.2.14)
19
+ builder (~> 3.0.0)
20
+ activerecord (3.2.14)
21
+ activemodel (= 3.2.14)
22
+ activesupport (= 3.2.14)
23
+ arel (~> 3.0.2)
24
+ tzinfo (~> 0.3.29)
25
+ activeresource (3.2.14)
26
+ activemodel (= 3.2.14)
27
+ activesupport (= 3.2.14)
28
+ activesupport (3.2.14)
14
29
  i18n (~> 0.6, >= 0.6.4)
15
- minitest (~> 4.2)
16
- multi_json (~> 1.3)
17
- thread_safe (~> 0.1)
18
- tzinfo (~> 0.3.37)
30
+ multi_json (~> 1.0)
19
31
  addressable (2.3.5)
20
- arel (4.0.0)
21
- atomic (1.1.12)
22
- builder (3.1.4)
32
+ arel (3.0.2)
33
+ builder (3.0.4)
23
34
  coderay (1.0.9)
24
35
  database_cleaner (1.1.1)
25
36
  diff-lcs (1.2.4)
37
+ erubis (2.7.0)
26
38
  faraday (0.8.8)
27
39
  multipart-post (~> 1.2.0)
28
40
  git (1.2.5)
@@ -35,9 +47,10 @@ GEM
35
47
  oauth2
36
48
  hashie (2.0.5)
37
49
  highline (1.6.19)
50
+ hike (1.2.3)
38
51
  httpauth (0.2.0)
39
52
  i18n (0.6.4)
40
- jeweler (1.8.6)
53
+ jeweler (1.8.7)
41
54
  builder
42
55
  bundler (~> 1.0)
43
56
  git (>= 1.2.5)
@@ -46,12 +59,16 @@ GEM
46
59
  nokogiri (= 1.5.10)
47
60
  rake
48
61
  rdoc
62
+ journey (1.0.4)
49
63
  json (1.8.0)
50
64
  jwt (0.1.8)
51
65
  multi_json (>= 1.5)
66
+ mail (2.5.4)
67
+ mime-types (~> 1.16)
68
+ treetop (~> 1.4.8)
52
69
  method_source (0.8.2)
53
- minitest (4.7.5)
54
- multi_json (1.7.8)
70
+ mime-types (1.23)
71
+ multi_json (1.7.9)
55
72
  multi_xml (0.5.5)
56
73
  multipart-post (1.2.0)
57
74
  nokogiri (1.5.10)
@@ -62,11 +79,33 @@ GEM
62
79
  multi_json (~> 1.0)
63
80
  multi_xml (~> 0.5)
64
81
  rack (~> 1.2)
82
+ polyglot (0.3.3)
65
83
  pry (0.9.12.2)
66
84
  coderay (~> 1.0.5)
67
85
  method_source (~> 0.8)
68
86
  slop (~> 3.4)
69
- rack (1.5.2)
87
+ rack (1.4.5)
88
+ rack-cache (1.2)
89
+ rack (>= 0.4)
90
+ rack-ssl (1.3.3)
91
+ rack
92
+ rack-test (0.6.2)
93
+ rack (>= 1.0)
94
+ rails (3.2.14)
95
+ actionmailer (= 3.2.14)
96
+ actionpack (= 3.2.14)
97
+ activerecord (= 3.2.14)
98
+ activeresource (= 3.2.14)
99
+ activesupport (= 3.2.14)
100
+ bundler (~> 1.0)
101
+ railties (= 3.2.14)
102
+ railties (3.2.14)
103
+ actionpack (= 3.2.14)
104
+ activesupport (= 3.2.14)
105
+ rack-ssl (~> 1.3.2)
106
+ rake (>= 0.8.7)
107
+ rdoc (~> 3.4)
108
+ thor (>= 0.14.6, < 2.0)
70
109
  rake (10.1.0)
71
110
  rdoc (3.12.2)
72
111
  json (~> 1.4)
@@ -75,25 +114,32 @@ GEM
75
114
  rspec-expectations (~> 2.14.0)
76
115
  rspec-mocks (~> 2.14.0)
77
116
  rspec-core (2.14.4)
78
- rspec-expectations (2.14.0)
117
+ rspec-expectations (2.14.1)
79
118
  diff-lcs (>= 1.1.3, < 2.0)
80
- rspec-mocks (2.14.2)
119
+ rspec-mocks (2.14.3)
81
120
  slop (3.4.6)
121
+ sprockets (2.2.2)
122
+ hike (~> 1.2)
123
+ multi_json (~> 1.0)
124
+ rack (~> 1.0)
125
+ tilt (~> 1.1, != 1.3.0)
82
126
  sqlite3 (1.3.7)
83
- thread_safe (0.1.2)
84
- atomic
127
+ thor (0.18.1)
128
+ tilt (1.4.1)
129
+ treetop (1.4.14)
130
+ polyglot
131
+ polyglot (>= 0.3.1)
85
132
  tzinfo (0.3.37)
86
133
 
87
134
  PLATFORMS
88
135
  ruby
89
136
 
90
137
  DEPENDENCIES
91
- activerecord (>= 3.2.12)
92
- activesupport (>= 3.2.12)
93
138
  bundler
94
139
  database_cleaner
95
140
  jeweler (~> 1.8.4)
96
141
  pry
142
+ rails (= 3.2.14)
97
143
  rdoc (~> 3.12)
98
144
  rspec (~> 2.14.0)
99
145
  sqlite3
data/Rakefile CHANGED
@@ -47,3 +47,11 @@ Rake::RDocTask.new do |rdoc|
47
47
  rdoc.rdoc_files.include('README*')
48
48
  rdoc.rdoc_files.include('lib/**/*.rb')
49
49
  end
50
+
51
+
52
+ require 'rake/testtask'
53
+
54
+ Rake::TestTask.new do |t|
55
+ t.libs << "spec"
56
+ t.pattern = "spec/**/*_test.rb"
57
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -0,0 +1,80 @@
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 = "active_record_content_blob"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Dan Nguyen"]
12
+ s.date = "2013-08-14"
13
+ s.description = "Loading up TEXT/BLOB columns can be slow"
14
+ s.email = "dansonguyen@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "active_record_content_blob.gemspec",
29
+ "lib/active_record_content_blob.rb",
30
+ "lib/content_blob.rb",
31
+ "lib/content_blob/blobable.rb",
32
+ "lib/generators/content_blob/migration_generator.rb",
33
+ "lib/generators/content_blob/templates/create_content_blobs.rb",
34
+ "spec/generator_helper.rb",
35
+ "spec/lib/generators/migration_generator_spec.rb",
36
+ "spec/lib/generators/migration_generator_test.rb",
37
+ "spec/spec_helper.rb",
38
+ "spec/unit/blobable_spec.rb",
39
+ "spec/unit/content_blob_spec.rb"
40
+ ]
41
+ s.homepage = "http://github.com/dannguyen/active_record_content_blob"
42
+ s.licenses = ["MIT"]
43
+ s.require_paths = ["lib"]
44
+ s.rubygems_version = "1.8.23"
45
+ s.summary = "Attach a TEXT/BLOB column to your model as a has_one"
46
+
47
+ if s.respond_to? :specification_version then
48
+ s.specification_version = 3
49
+
50
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
51
+ s.add_runtime_dependency(%q<rails>, ["= 3.2.14"])
52
+ s.add_runtime_dependency(%q<sqlite3>, [">= 0"])
53
+ s.add_development_dependency(%q<rspec>, ["~> 2.14.0"])
54
+ s.add_development_dependency(%q<bundler>, [">= 0"])
55
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
56
+ s.add_development_dependency(%q<database_cleaner>, [">= 0"])
57
+ s.add_development_dependency(%q<pry>, [">= 0"])
58
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
59
+ else
60
+ s.add_dependency(%q<rails>, ["= 3.2.14"])
61
+ s.add_dependency(%q<sqlite3>, [">= 0"])
62
+ s.add_dependency(%q<rspec>, ["~> 2.14.0"])
63
+ s.add_dependency(%q<bundler>, [">= 0"])
64
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
65
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
66
+ s.add_dependency(%q<pry>, [">= 0"])
67
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
68
+ end
69
+ else
70
+ s.add_dependency(%q<rails>, ["= 3.2.14"])
71
+ s.add_dependency(%q<sqlite3>, [">= 0"])
72
+ s.add_dependency(%q<rspec>, ["~> 2.14.0"])
73
+ s.add_dependency(%q<bundler>, [">= 0"])
74
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
75
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
76
+ s.add_dependency(%q<pry>, [">= 0"])
77
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
78
+ end
79
+ end
80
+
@@ -3,4 +3,4 @@ require 'content_blob'
3
3
  module ActiveRecordContentBlob; end
4
4
  include ActiveRecordContentBlob
5
5
 
6
- require 'content_blob/blobable'
6
+ require 'content_blob/blobable'
@@ -0,0 +1,45 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/active_record'
3
+
4
+ module ActiveRecordContentBlob
5
+
6
+ class MigrationGenerator < ActiveRecord::Generators::Base
7
+ argument :name, type: :string, default: 'create_content_blobs'
8
+
9
+
10
+ source_root File.expand_path('../templates', __FILE__)
11
+
12
+ def self.next_migration_number(path)
13
+ ActiveRecord::Generators::Base.next_migration_number(path)
14
+ end
15
+ # Copies the migration template to db/migrate.
16
+ def copy_files
17
+ migration_template 'create_content_blobs.rb', 'db/migrate/create_content_blobs_migration.rb'
18
+ end
19
+ end
20
+ end
21
+
22
+
23
+ =begin
24
+ include Rails::Generators::Migration
25
+
26
+ desc "Creates the content_blobs table"
27
+
28
+ self.source_paths << File.join(File.dirname(__FILE__), 'templates')
29
+
30
+ def self.next_migration_number(path)
31
+ ActiveRecord::Generators::Base.next_migration_number(path)
32
+ end
33
+
34
+ def create_migration_file
35
+ create_migration_file_if_not_exist 'create_content_blobs'
36
+ end
37
+
38
+ private
39
+
40
+ def create_migration_file_if_not_exist(file_name)
41
+ unless self.class.migration_exists?(File.dirname(File.expand_path("db/migrate/#{file_name}")), file_name)
42
+ migration_template "#{file_name}.rb", "db/migrate/#{file_name}.rb"
43
+ end
44
+ end
45
+ =end
@@ -0,0 +1,5 @@
1
+ # because I have no earthly idea how to test
2
+ # generators with RSpec
3
+ require 'minitest/unit'
4
+ require 'minitest/autorun'
5
+ require 'minitest/pride'
@@ -0,0 +1,35 @@
1
+ =begin
2
+
3
+ # Leaving this as a testament to my failed attempt to
4
+ # test generators via RSpec, even with the generator_spec gem
5
+
6
+ require 'spec_helper'
7
+ require File.expand_path '../../../../lib/generators/content_blob/migration_generator', __FILE__
8
+
9
+ require "generator_spec"
10
+ require "generator_spec/test_case"
11
+
12
+ describe ActiveRecordContentBlob::MigrationGenerator, type: :generator do
13
+ include GeneratorSpec::TestCase
14
+
15
+ @val = destination File.expand_path("../../../../../tmp", __FILE__)
16
+
17
+ before(:each) do
18
+ prepare_destination
19
+ run_generator
20
+ # Rails::Generators.options[:rails][:orm] = :active_record
21
+ end
22
+
23
+ describe 'create migration file' do
24
+ it 'should create migration' do
25
+
26
+
27
+ puts "\n\n #{Dir.pwd}\n\n"
28
+ assert_file 'db/migrate/create_content_blobs_migration.rb'
29
+ end
30
+ #subject { file('db/migrate/create_content_blobs_migration.rb') }
31
+ #it { should be_a_migration }
32
+ end
33
+
34
+ end
35
+ =end
@@ -0,0 +1,21 @@
1
+ require 'generator_helper'
2
+ require "rails/generators"
3
+ require File.expand_path '../../../../lib/generators/content_blob/migration_generator', __FILE__
4
+
5
+
6
+ class MigrationGeneratorTest < Rails::Generators::TestCase
7
+
8
+ tests ActiveRecordContentBlob::MigrationGenerator
9
+ destination File.expand_path("../../tmp", __FILE__)
10
+
11
+ setup :prepare_destination
12
+
13
+ test "should generate a migration" do
14
+ begin
15
+ run_generator
16
+ assert_migration "db/migrate/create_content_blobs_migration"
17
+ ensure
18
+ FileUtils.rm_rf self.destination_root
19
+ end
20
+ end
21
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_content_blob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,48 +9,32 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-08 00:00:00.000000000 Z
12
+ date: 2013-08-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: sqlite3
15
+ name: rails
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 3.2.14
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 3.2.14
30
30
  - !ruby/object:Gem::Dependency
31
- name: activesupport
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: 3.2.12
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: 3.2.12
46
- - !ruby/object:Gem::Dependency
47
- name: activerecord
31
+ name: sqlite3
48
32
  requirement: !ruby/object:Gem::Requirement
49
33
  none: false
50
34
  requirements:
51
35
  - - ! '>='
52
36
  - !ruby/object:Gem::Version
53
- version: 3.2.12
37
+ version: '0'
54
38
  type: :runtime
55
39
  prerelease: false
56
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +42,7 @@ dependencies:
58
42
  requirements:
59
43
  - - ! '>='
60
44
  - !ruby/object:Gem::Version
61
- version: 3.2.12
45
+ version: '0'
62
46
  - !ruby/object:Gem::Dependency
63
47
  name: rspec
64
48
  requirement: !ruby/object:Gem::Requirement
@@ -171,11 +155,15 @@ files:
171
155
  - README.rdoc
172
156
  - Rakefile
173
157
  - VERSION
158
+ - active_record_content_blob.gemspec
174
159
  - lib/active_record_content_blob.rb
175
160
  - lib/content_blob.rb
176
161
  - lib/content_blob/blobable.rb
177
- - lib/generators/content_blob/content_blob_generator.rb
162
+ - lib/generators/content_blob/migration_generator.rb
178
163
  - lib/generators/content_blob/templates/create_content_blobs.rb
164
+ - spec/generator_helper.rb
165
+ - spec/lib/generators/migration_generator_spec.rb
166
+ - spec/lib/generators/migration_generator_test.rb
179
167
  - spec/spec_helper.rb
180
168
  - spec/unit/blobable_spec.rb
181
169
  - spec/unit/content_blob_spec.rb
@@ -194,7 +182,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
194
182
  version: '0'
195
183
  segments:
196
184
  - 0
197
- hash: -996606693736125422
185
+ hash: -1268456544472009919
198
186
  required_rubygems_version: !ruby/object:Gem::Requirement
199
187
  none: false
200
188
  requirements:
@@ -1,27 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/migration'
3
- require 'rails/generators/active_record'
4
-
5
- class ContentBlobGenerator < Rails::Generators::Base
6
- include Rails::Generators::Migration
7
-
8
- desc "Creates the content_blobs table"
9
-
10
- self.source_paths << File.join(File.dirname(__FILE__), 'templates')
11
-
12
- def self.next_migration_number(path)
13
- ActiveRecord::Generators::Base.next_migration_number(path)
14
- end
15
-
16
- def create_migration_files
17
- create_migration_file_if_not_exist 'create_content_blobs'
18
- end
19
-
20
- private
21
-
22
- def create_migration_file_if_not_exist(file_name)
23
- unless self.class.migration_exists?(File.dirname(File.expand_path("db/migrate/#{file_name}")), file_name)
24
- migration_template "#{file_name}.rb", "db/migrate/#{file_name}.rb"
25
- end
26
- end
27
- end