tpitale-rails_datamapper 0.10.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.
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
+