tpitale-rails_datamapper 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,81 @@
1
+ source 'http://rubygems.org'
2
+
3
+ group :runtime do
4
+
5
+ # We bundle both AS and extlib while extlib compatibility needs to be kept around.
6
+ # require 'dm-core' will ensure that only one is activated at any time though.
7
+ # This is done by trying to require AS components and fallback to requiring
8
+ # extlib in case a LoadError was rescued when requiring AS code.
9
+ #
10
+ # Due to bundle exec activating all groups in the Gemfile, it's recommended to run
11
+ #
12
+ # bundle install --without quality
13
+ #
14
+ # to have a development environment that is able to run the specs. The problem is that
15
+ # metric_fu activates active_support=2.2.3 if we comment out the gem 'activesupport'
16
+ # declaration - have a look below for why we would want to do that (and a bit later, for
17
+ # why that's actually not *strictly* necessary, but recommended)
18
+ #
19
+ # To run the specs using AS, leave this Gemfile as it is and just run
20
+ #
21
+ # bundle install --without qality
22
+ # ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
23
+ #
24
+ # To run the specs using extlib, comment out the: gem 'activesupport' line and run
25
+ #
26
+ # bundle install --without quality
27
+ # ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
28
+ #
29
+ # If you want to run the quality tasks as provided by metric_fu and related gems,
30
+ # you have to run
31
+ #
32
+ # bundle install
33
+ # bundle exec rake metrics:all
34
+ #
35
+ # Switch back to a bundle without quality gems before trying to run the specs again
36
+ #
37
+ # bundle install --without quality
38
+ # ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
39
+ #
40
+ # It was mentioned above that all this is not *strictly* necessary, and this is true.
41
+ # Currently dm-core does the following as the first require when checking for AS
42
+ #
43
+ # require 'active_support/core_ext/object/singleton_class'
44
+ #
45
+ # Because this method is not present in activesupport <= 3.0.0.beta, dm-core's feature
46
+ # detection will actually do the "right thing" and fall back to extlib. However, since
47
+ # this is not the case for all dm-more gems as well, the safest thing to do is to respect
48
+ # the more tedious workflow for now, as it will at least be guaranteed to work the same
49
+ # for both dm-core and dm-more.
50
+ #
51
+ # Note that this won't be an issue anymore once we dropped support for extlib completely,
52
+ # or bundler folks decide to support something like "bundle exec --without=foo rake spec"
53
+ # (which probably is not going to happen anytime soon).
54
+ #
55
+
56
+ if ENV['EXTLIB']
57
+ gem 'extlib', '~> 0.9.15', :git => 'git://github.com/datamapper/extlib.git'
58
+ end
59
+
60
+ gem 'rails', '>= 2.3.5'
61
+ gem 'dm-core', '~> 1.0.01'
62
+ end
63
+
64
+ group :development do
65
+ gem 'rake', '~> 0.8.7'
66
+ gem 'rspec', '~> 1.3'
67
+ gem 'yard', '~> 0.5'
68
+ gem 'rcov', '~> 0.9.7'
69
+ gem 'jeweler', '~> 1.4'
70
+ gem 'data_objects', '~> 0.10.1'
71
+ gem 'do_sqlite3', '~> 0.10.1'
72
+ gem 'do_mysql', '~> 0.10.1'
73
+ gem 'do_postgres', '~> 0.10.1'
74
+ end
75
+
76
+ group :quality do
77
+ gem 'yardstick', '~> 0.1'
78
+ gem 'metric_fu', '~> 1.3'
79
+ gem 'reek', '~> 1.2.7'
80
+ gem 'roodi', '~> 2.1'
81
+ end
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Tom Malone
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,40 @@
1
+ This is a Rails plugin that provides datamapper as an orm
2
+
3
+ == Setup
4
+
5
+ add the following line to your projects environment.rb
6
+
7
+ config.gem "rails_datamapper"
8
+
9
+ == Generators
10
+
11
+ This will install the datamapper rake tasks:
12
+
13
+ script/generate dm_install
14
+
15
+ Three generators are added by default
16
+
17
+ script/generate dm_model
18
+ script/generate rspec_dm_model
19
+ script/generate dm_migration
20
+
21
+ The first two add a migration but you can call
22
+
23
+ script/generate dm_model --skip-migration
24
+ script/generate rspec_dm_model --skip-migration
25
+
26
+ To avoid any dependency on active record add this to your projects environment.rb
27
+
28
+ config.frameworks -= [ :active_record ]
29
+
30
+ == Session Store
31
+
32
+ Change config/initializers/session_store.rb to something like the following:
33
+
34
+ ActionController::Base.session_store = :data_mapper_store
35
+ ActionController::Base.session = {
36
+ :expires_after => 7.days,
37
+ :key => '_session_id',
38
+ }
39
+
40
+ Then create the sessions table with: rake db:sessions:create
@@ -0,0 +1,30 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ gem 'jeweler', '~> 1.4'
6
+ require 'jeweler'
7
+
8
+ Jeweler::Tasks.new do |gem|
9
+ gem.name = 'tpitale-rails_datamapper'
10
+ gem.summary = 'Rails Plugin for DataMapper'
11
+ gem.description = gem.summary
12
+ gem.email = 'tomjmalone [a] gmail [d] com'
13
+ gem.homepage = 'http://github.com/datamapper/dm-more/tree/master/%s' % gem.name
14
+ gem.authors = [ 'Tom Malone' ]
15
+
16
+ gem.rubyforge_project = 'datamapper'
17
+
18
+ gem.add_dependency 'dm-core', '~> 1.0.0'
19
+ gem.add_dependency 'rails', '>= 2.3.5'
20
+
21
+ gem.add_development_dependency 'rspec', '~> 1.3'
22
+ gem.add_development_dependency 'yard', '~> 0.5'
23
+ end
24
+
25
+ Jeweler::GemcutterTasks.new
26
+
27
+ FileList['tasks/**/*.rake'].each { |task| import task }
28
+ rescue LoadError
29
+ puts 'Jeweler (or a dependency) not available. Install it with: gem install jeweler'
30
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.10.3
@@ -0,0 +1,80 @@
1
+
2
+ # Monkey patch to allow overriding defined rake tasks (instead of
3
+ # adding to them, which is the default behaviour when specifying tasks
4
+ # >1 times).
5
+
6
+ Rake::TaskManager.class_eval do
7
+ def remove_task(task_name)
8
+ @tasks.delete(task_name.to_s)
9
+ end
10
+ end
11
+
12
+ def remove_task(task_name)
13
+ returning Rake.application do |app|
14
+ app.remove_task(app[task_name].name)
15
+ end
16
+ end
17
+
18
+ # Until AR/DM co-existence becomes practically possible, presume
19
+ # mutual exclusivity between the two. Thus we wipe all pre-existing
20
+ # db tasks which we assume to be ActiveRecord-based and thus won't
21
+ # work).
22
+
23
+ Rake.application.tasks.select do |t|
24
+ t.class == Rake::Task && t.name.starts_with?("db")
25
+ end.each { |t| remove_task(t.name) }
26
+
27
+ namespace :db do
28
+
29
+ desc 'Perform automigration'
30
+ task :automigrate => :environment do
31
+ FileList["app/models/**/*.rb"].each do |model|
32
+ load model
33
+ end
34
+ ::DataMapper.auto_migrate!
35
+ end
36
+
37
+ desc 'Perform non destructive automigration'
38
+ task :autoupgrade => :environment do
39
+ FileList["app/models/**/*.rb"].each do |model|
40
+ load model
41
+ end
42
+ ::DataMapper.auto_upgrade!
43
+ end
44
+
45
+ namespace :migrate do
46
+ task :load => :environment do
47
+ gem 'dm-migrations', '0.10.3'
48
+ FileList['db/migrations/*.rb'].each do |migration|
49
+ load migration
50
+ end
51
+ end
52
+
53
+ desc 'Migrate up using migrations'
54
+ task :up, :version, :needs => :load do |t, args|
55
+ version = args[:version]
56
+ migrate_up!(version)
57
+ end
58
+
59
+ desc 'Migrate down using migrations'
60
+ task :down, :version, :needs => :load do |t, args|
61
+ version = args[:version]
62
+ migrate_down!(version)
63
+ end
64
+ end
65
+
66
+ desc 'Migrate the database to the latest version'
67
+ task :migrate => 'db:migrate:up'
68
+
69
+ namespace :sessions do
70
+ desc "Creates the sessions table for DataMapperStore"
71
+ task :create => :environment do
72
+ ::DataMapperStore::Session.auto_migrate!
73
+ end
74
+
75
+ desc "Clear the sessions table for DataMapperStore"
76
+ task :clear => :environment do
77
+ ::DataMapperStore::Session.all.destroy!
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,12 @@
1
+ require 'rails_generator/base'
2
+
3
+ class DmInstallGenerator < Rails::Generator::Base
4
+
5
+ def manifest
6
+ record do |m|
7
+ m.directory 'lib/tasks'
8
+ m.template 'datamapper.rake', 'lib/tasks/datamapper.rake'
9
+ end
10
+ end
11
+
12
+ end
@@ -0,0 +1,42 @@
1
+ namespace :db do
2
+
3
+ desc 'Perform automigration'
4
+ task :automigrate => :environment do
5
+ FileList['app/models/**/*.rb'].each do |model|
6
+ load model
7
+ end
8
+ ::DataMapper.auto_migrate!
9
+ end
10
+
11
+ desc 'Perform non destructive automigration'
12
+ task :autoupgrade => :environment do
13
+ FileList['app/models/**/*.rb'].each do |model|
14
+ load model
15
+ end
16
+ ::DataMapper.auto_upgrade!
17
+ end
18
+
19
+ namespace :migrate do
20
+ task :load => :environment do
21
+ gem 'dm-migrations', '0.10.3'
22
+ FileList['db/migrations/*.rb'].each do |migration|
23
+ load migration
24
+ end
25
+ end
26
+
27
+ desc 'Migrate up using migrations'
28
+ task :up, :version, :needs => :load do |t, args|
29
+ version = args[:version]
30
+ migrate_up!(version)
31
+ end
32
+
33
+ desc 'Migrate down using migrations'
34
+ task :down, :version, :needs => :load do |t, args|
35
+ version = args[:version]
36
+ migrate_down!(version)
37
+ end
38
+ end
39
+
40
+ desc 'Migrate the database to the latest version'
41
+ task :migrate => 'db:migrate:up'
42
+ end
@@ -0,0 +1,11 @@
1
+ require 'rails_generator/generators/components/migration/migration_generator'
2
+ require 'active_record'
3
+
4
+ class DmMigrationGenerator < Rails::Generator::NamedBase
5
+
6
+ def manifest
7
+ record do |m|
8
+ m.migration_template 'migration.rb', 'db/migrate'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ migration 1, :<%= class_name.underscore %> do
2
+ up do
3
+ create_table :<%= table_name %> do
4
+ <% Array(attributes).each do |attribute| -%>
5
+ column :<%= attribute.name if attribute %>, <%= attribute.type.to_s.capitalize %>, :nullable? => false
6
+ <% end -%>
7
+ <% unless options[:skip_timestamps] -%>
8
+ column :created_at, DateTime, :nullable? => false
9
+ column :updated_at, DateTime, :nullable? => false
10
+ <% end -%>
11
+ end
12
+ end
13
+
14
+ down do
15
+ drop_table :<%= table_name %>
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ require 'rails_generator/generators/components/model/model_generator'
2
+ require 'active_record'
3
+
4
+ class DmModelGenerator < ModelGenerator
5
+
6
+ def manifest
7
+ record do |m|
8
+
9
+ # Check for class naming collisions.
10
+ m.class_collisions class_path, class_name, "#{class_name}Test"
11
+
12
+ # Model, test, and fixture directories.
13
+ m.directory File.join('app/models', class_path)
14
+ m.directory File.join('test/unit', class_path)
15
+
16
+ # Model class, unit test, and fixtures.
17
+ m.template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
18
+ m.template 'unit_test.rb', File.join('test/unit', class_path, "#{file_name}_test.rb")
19
+
20
+ unless options[:skip_migration]
21
+ m.migration_template 'dm_migration:migration.rb', 'db/migrate', :assigns => {
22
+ :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}"
23
+ }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}"
24
+ end
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,13 @@
1
+ class <%= class_name %>
2
+ include DataMapper::Resource
3
+
4
+ property :id, Serial
5
+ <% Array(attributes).each do |attribute| -%>
6
+ property :<%= attribute.name %>, <%= attribute.type.to_s.capitalize %>, :required => true
7
+ <% end -%>
8
+ <% unless options[:skip_timestamps] -%>
9
+ property :created_at, DateTime, :required => true
10
+ property :updated_at, DateTime, :required => true
11
+ <% end -%>
12
+
13
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class <%= class_name %>Test < ActiveSupport::TestCase
4
+ # Replace this with your real tests.
5
+ def test_truth
6
+ assert true
7
+ end
8
+ end
@@ -0,0 +1,28 @@
1
+ require 'rails_generator/generators/components/model/model_generator'
2
+ require 'active_record'
3
+
4
+ class RspecDmModelGenerator <ModelGenerator
5
+
6
+ def manifest
7
+ record do |m|
8
+
9
+ # Check for class naming collisions.
10
+ m.class_collisions class_path, class_name
11
+
12
+ # Model, spec, and fixture directories.
13
+ m.directory File.join('app/models', class_path)
14
+ m.directory File.join('spec/models', class_path)
15
+
16
+ # Model class, spec and fixtures.
17
+ m.template 'dm_model:model.rb', File.join('app/models', class_path, "#{file_name}.rb")
18
+ m.template 'model_spec.rb', File.join('spec/models', class_path, "#{file_name}_spec.rb")
19
+
20
+ unless options[:skip_migration]
21
+ m.migration_template 'dm_migration:migration.rb', 'db/migrate', :assigns => {
22
+ :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}"
23
+ }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}"
24
+ end
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), <%= ([ "'..'" ] * class_nesting_depth).join(', ') %>, '..', 'spec_helper')
2
+
3
+ describe <%= class_name %> do
4
+ before(:each) do
5
+ @<%= file_name %> = <%= class_name %>.new
6
+ end
7
+
8
+ it 'should be awesome'
9
+ end
@@ -0,0 +1,61 @@
1
+ require 'pathname'
2
+ require 'extlib/pathname'
3
+
4
+ require 'rails_datamapper/session_store'
5
+
6
+ module Rails
7
+ module DataMapper
8
+ class << self
9
+ extend ActiveSupport::Memoizable
10
+
11
+ def create_connection
12
+ # TODO: handle Rails and Merb style database.yml files
13
+ conf = config.dup
14
+ repositories = conf.delete(:repositories)
15
+ ::DataMapper.setup(:default, conf) unless conf.empty?
16
+ end
17
+
18
+ private
19
+
20
+ def config_file
21
+ File.new(File.expand_path('config/database.yml', Rails.root))
22
+ end
23
+
24
+ def full_config
25
+ YAML::load(ERB.new(config_file.read).result)
26
+ end
27
+
28
+ memoize :full_config
29
+
30
+ def config
31
+ if hash = full_config[Rails.env] || full_config[Rails.env.to_sym]
32
+ normalize_config(hash)
33
+ else
34
+ raise ArgumentError, "missing environment '#{Rails.env}' in config file #{config_file}"
35
+ end
36
+ end
37
+
38
+ memoize :config
39
+
40
+ def normalize_config(hash)
41
+ config = {}
42
+
43
+ hash.symbolize_keys.each do |key, value|
44
+ config[key] = if value.kind_of?(Hash)
45
+ normalize_config(value)
46
+ elsif key == :port
47
+ value.to_i
48
+ elsif key == :adapter && value == 'postgresql'
49
+ 'postgres'
50
+ else
51
+ value
52
+ end
53
+ end
54
+
55
+ config
56
+ end
57
+ end
58
+ end
59
+ end
60
+
61
+ Rails::DataMapper.create_connection
@@ -0,0 +1,63 @@
1
+ require 'dm-core'
2
+
3
+ # Implements DataMapper-specific session store.
4
+
5
+ module ActionController
6
+ module Session
7
+ class DataMapperStore < AbstractStore
8
+
9
+ # Options passed in here are specified at:
10
+ # config/initializers/session_store.rb
11
+
12
+ def initialize(app, options = {})
13
+ options.symbolize_keys!
14
+ options[:expire_after] = options[:expires] || nil
15
+
16
+ super
17
+
18
+ unless (self.class.class_variable_defined? :@@session_class and @@session_class)
19
+ @@session_class = options.delete(:session_class) || ::DataMapperStore::Session
20
+ end
21
+ end
22
+
23
+ private
24
+ def get_session(env, sid)
25
+ sid ||= generate_sid
26
+ session = @@session_class.first(:session_id => sid)
27
+ [sid, session.nil? ? {} : session.data]
28
+ end
29
+
30
+ def set_session(env, sid, session_data)
31
+ session = @@session_class.first(:session_id => sid) ||
32
+ @@session_class.new(:session_id => sid)
33
+ session.data = session_data || {}
34
+ session.updated_at = Time.now if session.dirty?
35
+
36
+ session.save
37
+ end
38
+ end
39
+ end
40
+ end
41
+
42
+ module DataMapperStore
43
+ class Session
44
+ include ::DataMapper::Resource
45
+
46
+ def self.name
47
+ "session"
48
+ end
49
+
50
+ property :id, Serial
51
+ property :session_id, String, :unique_index => true
52
+ property :data, Text, :required => true, :default => ::Base64.encode64(Marshal.dump({}))
53
+ property :updated_at, DateTime, :required => false, :index => true
54
+
55
+ def data=(data)
56
+ attribute_set(:data, ::Base64.encode64(Marshal.dump(data)))
57
+ end
58
+
59
+ def data
60
+ Marshal.load(::Base64.decode64(attribute_get(:data)))
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,70 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rails_datamapper}
8
+ s.version = "0.10.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Tom Malone"]
12
+ s.date = %q{2010-06-17}
13
+ s.description = %q{Rails Plugin for DataMapper}
14
+ s.email = %q{tomjmalone [a] gmail [d] com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ "Gemfile",
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "datamapper.rake",
26
+ "generators/dm_install/dm_install_generator.rb",
27
+ "generators/dm_install/templates/datamapper.rake",
28
+ "generators/dm_migration/dm_migration_generator.rb",
29
+ "generators/dm_migration/templates/migration.rb",
30
+ "generators/dm_model/dm_model_generator.rb",
31
+ "generators/dm_model/templates/model.rb",
32
+ "generators/dm_model/templates/unit_test.rb",
33
+ "generators/rspec_dm_model/rspec_dm_model_generator.rb",
34
+ "generators/rspec_dm_model/templates/model_spec.rb",
35
+ "lib/rails_datamapper.rb",
36
+ "lib/rails_datamapper/session_store.rb",
37
+ "rails_datamapper.gemspec",
38
+ "tasks/yard.rake",
39
+ "tasks/yardstick.rake"
40
+ ]
41
+ s.homepage = %q{http://github.com/datamapper/dm-more/tree/master/rails_datamapper}
42
+ s.rdoc_options = ["--charset=UTF-8"]
43
+ s.require_paths = ["lib"]
44
+ s.rubyforge_project = %q{datamapper}
45
+ s.rubygems_version = %q{1.3.6}
46
+ s.summary = %q{Rails Plugin for DataMapper}
47
+
48
+ if s.respond_to? :specification_version then
49
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
50
+ s.specification_version = 3
51
+
52
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
53
+ s.add_runtime_dependency(%q<dm-core>, ["~> 0.10.3"])
54
+ s.add_runtime_dependency(%q<rails>, ["~> 2.3.5"])
55
+ s.add_development_dependency(%q<rspec>, ["~> 1.3"])
56
+ s.add_development_dependency(%q<yard>, ["~> 0.5"])
57
+ else
58
+ s.add_dependency(%q<dm-core>, ["~> 0.10.3"])
59
+ s.add_dependency(%q<rails>, ["~> 2.3.5"])
60
+ s.add_dependency(%q<rspec>, ["~> 1.3"])
61
+ s.add_dependency(%q<yard>, ["~> 0.5"])
62
+ end
63
+ else
64
+ s.add_dependency(%q<dm-core>, ["~> 0.10.3"])
65
+ s.add_dependency(%q<rails>, ["~> 2.3.5"])
66
+ s.add_dependency(%q<rspec>, ["~> 1.3"])
67
+ s.add_dependency(%q<yard>, ["~> 0.5"])
68
+ end
69
+ end
70
+
@@ -0,0 +1,9 @@
1
+ begin
2
+ require 'yard'
3
+
4
+ YARD::Rake::YardocTask.new
5
+ rescue LoadError
6
+ task :yard do
7
+ abort 'YARD is not available. In order to run yard, you must: gem install yard'
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ begin
2
+ require 'pathname'
3
+ require 'yardstick/rake/measurement'
4
+ require 'yardstick/rake/verify'
5
+
6
+ # yardstick_measure task
7
+ Yardstick::Rake::Measurement.new
8
+
9
+ # verify_measurements task
10
+ Yardstick::Rake::Verify.new do |verify|
11
+ verify.threshold = 100
12
+ end
13
+ rescue LoadError
14
+ %w[ yardstick_measure verify_measurements ].each do |name|
15
+ task name.to_s do
16
+ abort "Yardstick is not available. In order to run #{name}, you must: gem install yardstick"
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tpitale-rails_datamapper
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 10
8
+ - 3
9
+ version: 0.10.3
10
+ platform: ruby
11
+ authors:
12
+ - Tom Malone
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-06-18 00:00:00 -07:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: dm-core
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 0
30
+ - 0
31
+ version: 1.0.0
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rails
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 2
43
+ - 3
44
+ - 5
45
+ version: 2.3.5
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: rspec
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 1
57
+ - 3
58
+ version: "1.3"
59
+ type: :development
60
+ version_requirements: *id003
61
+ - !ruby/object:Gem::Dependency
62
+ name: yard
63
+ prerelease: false
64
+ requirement: &id004 !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ segments:
69
+ - 0
70
+ - 5
71
+ version: "0.5"
72
+ type: :development
73
+ version_requirements: *id004
74
+ description: Rails Plugin for DataMapper
75
+ email: tomjmalone [a] gmail [d] com
76
+ executables: []
77
+
78
+ extensions: []
79
+
80
+ extra_rdoc_files:
81
+ - LICENSE
82
+ - README.rdoc
83
+ files:
84
+ - Gemfile
85
+ - LICENSE
86
+ - README.rdoc
87
+ - Rakefile
88
+ - VERSION
89
+ - datamapper.rake
90
+ - generators/dm_install/dm_install_generator.rb
91
+ - generators/dm_install/templates/datamapper.rake
92
+ - generators/dm_migration/dm_migration_generator.rb
93
+ - generators/dm_migration/templates/migration.rb
94
+ - generators/dm_model/dm_model_generator.rb
95
+ - generators/dm_model/templates/model.rb
96
+ - generators/dm_model/templates/unit_test.rb
97
+ - generators/rspec_dm_model/rspec_dm_model_generator.rb
98
+ - generators/rspec_dm_model/templates/model_spec.rb
99
+ - lib/rails_datamapper.rb
100
+ - lib/rails_datamapper/session_store.rb
101
+ - rails_datamapper.gemspec
102
+ - tasks/yard.rake
103
+ - tasks/yardstick.rake
104
+ has_rdoc: true
105
+ homepage: http://github.com/datamapper/dm-more/tree/master/tpitale-rails_datamapper
106
+ licenses: []
107
+
108
+ post_install_message:
109
+ rdoc_options:
110
+ - --charset=UTF-8
111
+ require_paths:
112
+ - lib
113
+ required_ruby_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ segments:
125
+ - 0
126
+ version: "0"
127
+ requirements: []
128
+
129
+ rubyforge_project: datamapper
130
+ rubygems_version: 1.3.6
131
+ signing_key:
132
+ specification_version: 3
133
+ summary: Rails Plugin for DataMapper
134
+ test_files: []
135
+