dm-is-localizable 0.10.1 → 1.0.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/.gitignore CHANGED
@@ -2,8 +2,7 @@ test_log
2
2
  pkg
3
3
  pkg/*
4
4
  */pkg/*
5
- bundle
6
- bundle/*
5
+ .bundle
7
6
  doc
8
7
  *.log
9
8
  log
@@ -21,3 +20,5 @@ rspec_report.html
21
20
  *.swp
22
21
  _Yardoc
23
22
  */ri
23
+ *.gem
24
+
data/Gemfile ADDED
@@ -0,0 +1,146 @@
1
+ # If you're working on more than one datamapper gem at a time, then it's
2
+ # recommended to create a local Gemfile and use this instead of the git
3
+ # sources. This will make sure that you are developing against your
4
+ # other local datamapper sources that you currently work on. Gemfile.local
5
+ # will behave identically to the standard Gemfile apart from the fact that
6
+ # it fetches the datamapper gems from local paths. This means that you can use
7
+ # the same environment variables, like ADAPTER(S) or PLUGIN(S) when running
8
+ # bundle commands. Gemfile.local is added to .gitignore, so you don't need to
9
+ # worry about accidentally checking local development paths into git.
10
+ # In order to create a local Gemfile, all you need to do is run:
11
+ #
12
+ # bundle exec rake local_gemfile
13
+ #
14
+ # This will give you a Gemfile.local file that points to your local clones of
15
+ # the various datamapper gems. It's assumed that all datamapper repo clones
16
+ # reside in the same directory. You can use the Gemfile.local like so for
17
+ # running any bundle command:
18
+ #
19
+ # BUNDLE_GEMFILE=Gemfile.local bundle foo
20
+ #
21
+ # You can also specify which adapter(s) should be part of the bundle by setting
22
+ # an environment variable. This of course also works when using the Gemfile.local
23
+ #
24
+ # bundle foo # dm-sqlite-adapter
25
+ # ADAPTER=mysql bundle foo # dm-mysql-adapter
26
+ # ADAPTERS=sqlite,mysql bundle foo # dm-sqlite-adapter and dm-mysql-adapter
27
+ #
28
+ # Of course you can also use the ADAPTER(S) variable when using the Gemfile.local
29
+ # and running specs against selected adapters.
30
+ #
31
+ # For easily working with adapters supported on your machine, it's recommended
32
+ # that you first install all adapters that you are planning to use or work on
33
+ # by doing something like
34
+ #
35
+ # ADAPTERS=sqlite,mysql,postgres bundle install
36
+ #
37
+ # This will clone the various repositories and make them available to bundler.
38
+ # Once you have them installed you can easily switch between adapters for the
39
+ # various development tasks. Running something like
40
+ #
41
+ # ADAPTER=mysql bundle exec rake spec
42
+ #
43
+ # will make sure that the dm-mysql-adapter is part of the bundle, and will be used
44
+ # when running the specs.
45
+ #
46
+ # You can also specify which plugin(s) should be part of the bundle by setting
47
+ # an environment variable. This also works when using the Gemfile.local
48
+ #
49
+ # bundle foo # dm-migrations
50
+ # PLUGINS=dm-validations bundle foo # dm-migrations and dm-validations
51
+ # PLUGINS=dm-validations,dm-types bundle foo # dm-migrations, dm-validations and dm-types
52
+ #
53
+ # Of course you can combine the PLUGIN(S) and ADAPTER(S) env vars to run specs
54
+ # for certain adapter/plugin combinations.
55
+ #
56
+ # Finally, to speed up running specs and other tasks, it's recommended to run
57
+ #
58
+ # bundle lock
59
+ #
60
+ # after running 'bundle install' for the first time. This will make 'bundle exec' run
61
+ # a lot faster compared to the unlocked version. With an unlocked bundle you would
62
+ # typically just run 'bundle install' from time to time to fetch the latest sources from
63
+ # upstream. When you locked your bundle, you need to run
64
+ #
65
+ # bundle install --relock
66
+ #
67
+ # to make sure to fetch the latest updates and then lock the bundle again. Gemfile.lock
68
+ # is added to the .gitignore file, so you don't need to worry about accidentally checking
69
+ # it into version control.
70
+
71
+ source 'http://rubygems.org'
72
+
73
+ DATAMAPPER = 'git://github.com/datamapper'
74
+ DM_VERSION = '~> 1.0.0'
75
+
76
+
77
+ group :runtime do # Runtime dependencies (as in the gemspec)
78
+
79
+ if ENV['EXTLIB']
80
+ gem 'extlib', '~> 0.9.15', :git => "#{DATAMAPPER}/extlib.git"
81
+ else
82
+ gem 'activesupport', '~> 3.0.0.beta3', :git => 'git://github.com/rails/rails.git', :require => nil
83
+ end
84
+
85
+ gem 'dm-core', DM_VERSION, :git => "#{DATAMAPPER}/dm-core.git"
86
+ gem 'dm-validations', DM_VERSION, :git => "#{DATAMAPPER}/dm-validations.git"
87
+ gem 'dm-is-remixable', DM_VERSION, :git => "#{DATAMAPPER}/dm-is-remixable.git"
88
+
89
+ gem 'dm-accepts_nested_attributes', DM_VERSION, :git => 'git://github.com/snusnu/dm-accepts_nested_attributes.git'
90
+
91
+ end
92
+
93
+ group(:development) do # Development dependencies (as in the gemspec)
94
+
95
+ gem 'rake', '~> 0.8.7'
96
+ gem 'rspec', '~> 1.3'
97
+ gem 'yard', '~> 0.5'
98
+ gem 'rcov', '~> 0.9.7'
99
+ gem 'jeweler', '~> 1.4'
100
+
101
+ end
102
+
103
+ group :quality do # These gems contain rake tasks that check the quality of the source code
104
+
105
+ gem 'yardstick', '~> 0.1'
106
+ gem 'metric_fu', '~> 1.3'
107
+ gem 'reek', '~> 1.2.7'
108
+ gem 'roodi', '~> 2.1'
109
+
110
+ end
111
+
112
+ group :datamapper do # We need this because we want to pin these dependencies to their git master sources
113
+
114
+ adapters = ENV['ADAPTER'] || ENV['ADAPTERS']
115
+ adapters = adapters.to_s.gsub(',',' ').split(' ') - ['in_memory']
116
+
117
+ unless adapters.empty?
118
+
119
+ DO_VERSION = '~> 0.10.3'
120
+ DM_DO_ADAPTERS = %w[sqlite postgres mysql oracle sqlserver]
121
+
122
+ gem 'data_objects', DO_VERSION, :git => "#{DATAMAPPER}/do.git"
123
+
124
+ adapters.each do |adapter|
125
+ if DM_DO_ADAPTERS.any? { |dm_do_adapter| dm_do_adapter =~ /#{adapter}/ }
126
+ adapter = 'sqlite3' if adapter == 'sqlite'
127
+ gem "do_#{adapter}", DO_VERSION, :git => "#{DATAMAPPER}/do.git"
128
+ end
129
+ end
130
+
131
+ gem 'dm-do-adapter', DM_VERSION, :git => "#{DATAMAPPER}/dm-do-adapter.git"
132
+
133
+ adapters.each do |adapter|
134
+ gem "dm-#{adapter}-adapter", DM_VERSION, :git => "#{DATAMAPPER}/dm-#{adapter}-adapter.git"
135
+ end
136
+
137
+ end
138
+
139
+ plugins = ENV['PLUGINS'] || ENV['PLUGIN']
140
+ plugins = (plugins.to_s.gsub(',',' ').split(' ') + ['dm-migrations']).uniq
141
+
142
+ plugins.each do |plugin|
143
+ gem plugin, DM_VERSION, :git => "#{DATAMAPPER}/#{plugin}.git"
144
+ end
145
+
146
+ end
data/Rakefile CHANGED
@@ -1,8 +1,6 @@
1
1
  require 'pathname'
2
2
  require 'rake'
3
3
 
4
- ROOT = Pathname(__FILE__).dirname.expand_path
5
- JRUBY = RUBY_PLATFORM =~ /java/
6
4
 
7
5
  begin
8
6
 
@@ -16,71 +14,19 @@ begin
16
14
  gem.homepage = "http://github.com/snusnu/dm-is-localizable"
17
15
  gem.authors = ["Martin Gamsjaeger (snusnu)"]
18
16
 
19
- gem.add_dependency('dm-core', '>= 0.10.2')
20
- gem.add_dependency('dm-is-remixable', '>= 0.10.2')
21
- gem.add_dependency('dm-validations', '>= 0.10.2')
17
+ gem.add_dependency 'dm-core', '~> 1.0.0'
18
+ gem.add_dependency 'dm-is-remixable', '~> 1.0.0'
19
+ gem.add_dependency 'dm-validations', '~> 1.0.0'
22
20
 
23
21
  gem.add_development_dependency 'rspec', '~> 1.3'
22
+ gem.add_development_dependency 'yard', '~> 0.5'
24
23
 
25
24
  Jeweler::GemcutterTasks.new
26
25
 
27
- end
28
-
29
- rescue LoadError
30
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
31
- end
26
+ FileList['tasks/**/*.rake'].each { |task| import task }
32
27
 
33
- begin
34
- require 'spec/rake/spectask'
35
-
36
- task :default => [ :spec ]
37
-
38
- desc 'Run specifications'
39
- Spec::Rake::SpecTask.new(:spec) do |t|
40
- t.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
41
- t.libs << 'lib' << 'spec' # needed for CI rake spec task, duplicated in spec_helper
42
-
43
- begin
44
- require 'rcov'
45
- t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
46
- t.rcov_opts << '--exclude' << 'spec'
47
- t.rcov_opts << '--text-summary'
48
- t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
49
- rescue LoadError
50
- # rcov not installed
51
- rescue SyntaxError
52
- # rcov syntax invalid
53
- end
54
28
  end
55
- rescue LoadError
56
- # rspec not installed
57
- end
58
29
 
59
- begin
60
- require 'cucumber/rake/task'
61
- Cucumber::Rake::Task.new(:features)
62
30
  rescue LoadError
63
- task :features do
64
- abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
65
- end
66
- end
67
-
68
- task :default => :spec
69
-
70
- require 'rake/rdoctask'
71
- Rake::RDocTask.new do |rdoc|
72
- if File.exist?('VERSION.yml')
73
- config = YAML.load(File.read('VERSION.yml'))
74
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
75
- else
76
- version = ""
77
- end
78
-
79
- rdoc.rdoc_dir = 'rdoc'
80
- rdoc.title = "dm-is-localizable #{version}"
81
- rdoc.rdoc_files.include('README*')
82
- rdoc.rdoc_files.include('lib/**/*.rb')
31
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
83
32
  end
84
-
85
- # require all tasks below tasks
86
- Pathname.glob(ROOT.join('tasks/**/*.rb').to_s).each { |f| require f }
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.1
1
+ 1.0.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dm-is-localizable}
8
- s.version = "0.10.1"
8
+ s.version = "1.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Martin Gamsjaeger (snusnu)"]
12
- s.date = %q{2010-02-04}
12
+ s.date = %q{2010-06-08}
13
13
  s.email = %q{gamsnjaga@gmail.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  ".document",
21
21
  ".gitignore",
22
22
  "CHANGELOG",
23
+ "Gemfile",
23
24
  "LICENSE",
24
25
  "README.textile",
25
26
  "Rakefile",
@@ -32,6 +33,7 @@ Gem::Specification.new do |s|
32
33
  "lib/dm-is-localizable/storage/translation.rb",
33
34
  "spec/fixtures/item.rb",
34
35
  "spec/lib/rspec_tmbundle_support.rb",
36
+ "spec/rcov.opts",
35
37
  "spec/shared/shared_examples_spec.rb",
36
38
  "spec/spec.opts",
37
39
  "spec/spec_helper.rb",
@@ -41,14 +43,20 @@ Gem::Specification.new do |s|
41
43
  "spec/unit/is_localizable_spec.rb",
42
44
  "spec/unit/language_spec.rb",
43
45
  "spec/unit/translation_spec.rb",
44
- "tasks/changelog.rb",
45
- "tasks/install.rb",
46
- "tasks/whitespace.rb"
46
+ "tasks/changelog.rake",
47
+ "tasks/ci.rake",
48
+ "tasks/install.rake",
49
+ "tasks/local_gemfile.rake",
50
+ "tasks/metrics.rake",
51
+ "tasks/spec.rake",
52
+ "tasks/whitespace.rake",
53
+ "tasks/yard.rake",
54
+ "tasks/yardstick.rake"
47
55
  ]
48
56
  s.homepage = %q{http://github.com/snusnu/dm-is-localizable}
49
57
  s.rdoc_options = ["--charset=UTF-8"]
50
58
  s.require_paths = ["lib"]
51
- s.rubygems_version = %q{1.3.5}
59
+ s.rubygems_version = %q{1.3.7}
52
60
  s.summary = %q{Datamapper support for localization of content in multilanguage applications}
53
61
  s.test_files = [
54
62
  "spec/fixtures/item.rb",
@@ -67,22 +75,25 @@ Gem::Specification.new do |s|
67
75
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
68
76
  s.specification_version = 3
69
77
 
70
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
71
- s.add_runtime_dependency(%q<dm-core>, [">= 0.10.2"])
72
- s.add_runtime_dependency(%q<dm-is-remixable>, [">= 0.10.2"])
73
- s.add_runtime_dependency(%q<dm-validations>, [">= 0.10.2"])
78
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
79
+ s.add_runtime_dependency(%q<dm-core>, ["~> 1.0.0"])
80
+ s.add_runtime_dependency(%q<dm-is-remixable>, ["~> 1.0.0"])
81
+ s.add_runtime_dependency(%q<dm-validations>, ["~> 1.0.0"])
74
82
  s.add_development_dependency(%q<rspec>, ["~> 1.3"])
83
+ s.add_development_dependency(%q<yard>, ["~> 0.5"])
75
84
  else
76
- s.add_dependency(%q<dm-core>, [">= 0.10.2"])
77
- s.add_dependency(%q<dm-is-remixable>, [">= 0.10.2"])
78
- s.add_dependency(%q<dm-validations>, [">= 0.10.2"])
85
+ s.add_dependency(%q<dm-core>, ["~> 1.0.0"])
86
+ s.add_dependency(%q<dm-is-remixable>, ["~> 1.0.0"])
87
+ s.add_dependency(%q<dm-validations>, ["~> 1.0.0"])
79
88
  s.add_dependency(%q<rspec>, ["~> 1.3"])
89
+ s.add_dependency(%q<yard>, ["~> 0.5"])
80
90
  end
81
91
  else
82
- s.add_dependency(%q<dm-core>, [">= 0.10.2"])
83
- s.add_dependency(%q<dm-is-remixable>, [">= 0.10.2"])
84
- s.add_dependency(%q<dm-validations>, [">= 0.10.2"])
92
+ s.add_dependency(%q<dm-core>, ["~> 1.0.0"])
93
+ s.add_dependency(%q<dm-is-remixable>, ["~> 1.0.0"])
94
+ s.add_dependency(%q<dm-validations>, ["~> 1.0.0"])
85
95
  s.add_dependency(%q<rspec>, ["~> 1.3"])
96
+ s.add_dependency(%q<yard>, ["~> 0.5"])
86
97
  end
87
98
  end
88
99
 
@@ -1,3 +1,8 @@
1
+ require 'dm-core'
2
+ require 'dm-validations'
3
+ require 'dm-is-remixable'
4
+ require 'dm-accepts_nested_attributes'
5
+
1
6
  module DataMapper
2
7
  module Is
3
8
 
@@ -15,13 +20,13 @@ module DataMapper
15
20
  :accept_nested_attributes => true
16
21
  }.merge(options)
17
22
 
18
- remixer_fk = Extlib::Inflection.foreign_key(self.name).to_sym
23
+ remixer_fk = ActiveSupport::Inflector.foreign_key(self.name).to_sym
19
24
  remixer = remixer_fk.to_s.gsub('_id', '').to_sym
20
- remixee = Extlib::Inflection.tableize(options[:model]).to_sym
25
+ remixee = ActiveSupport::Inflector.tableize(options[:model]).to_sym
21
26
 
22
27
  remix n, Translation, :as => options[:as], :model => options[:model]
23
28
 
24
- @translation_model = Extlib::Inflection.constantize(options[:model])
29
+ @translation_model = ActiveSupport::Inflector.constantize(options[:model])
25
30
 
26
31
  enhance :translation, @translation_model do
27
32
 
@@ -33,7 +38,7 @@ module DataMapper
33
38
 
34
39
  class_eval &block
35
40
 
36
- validates_is_unique :language_id, :scope => remixer_fk
41
+ validates_uniqueness_of :language_id, :scope => remixer_fk
37
42
 
38
43
  end
39
44
 
@@ -93,7 +98,7 @@ module DataMapper
93
98
  def localizable_properties
94
99
  translation_model.properties.map { |p| p.name }.select do |p|
95
100
  # exclude properties that are'nt localizable
96
- p != :id && p != :language_id && p != Extlib::Inflection.foreign_key(self.name).to_sym
101
+ p != :id && p != :language_id && p != ActiveSupport::Inflector.foreign_key(self.name).to_sym
97
102
  end
98
103
  end
99
104
 
@@ -10,7 +10,7 @@ class Language
10
10
  property :name, String, :required => true
11
11
 
12
12
  # locale string like 'en-US'
13
- validates_format :code, :with => /^[a-z]{2}-[A-Z]{2}$/
13
+ validates_format_of :code, :with => /^[a-z]{2}-[A-Z]{2}$/
14
14
 
15
15
 
16
16
  def self.[](code)
@@ -0,0 +1,6 @@
1
+ --exclude "spec"
2
+ --sort coverage
3
+ --callsites
4
+ --xrefs
5
+ --profile
6
+ --text-summary
@@ -1,62 +1,8 @@
1
- require 'rubygems'
2
-
3
- require 'dm-core'
4
- require 'dm-is-remixable'
5
- require 'dm-validations'
6
- require 'dm-accepts_nested_attributes'
7
-
8
- # Support running specs with 'rake spec' and 'spec'
9
- $LOAD_PATH.unshift('lib') unless $LOAD_PATH.include?('lib')
10
-
11
1
  require 'dm-is-localizable'
2
+ require 'dm-core/spec/setup'
3
+ require 'fixtures/item'
12
4
 
13
- ENV["SQLITE3_SPEC_URI"] ||= 'sqlite3::memory:'
14
- ENV["MYSQL_SPEC_URI"] ||= 'mysql://localhost/dm-is_localizable_test'
15
- ENV["POSTGRES_SPEC_URI"] ||= 'postgres://postgres@localhost/dm-is_localizable_test'
16
-
17
-
18
- def setup_adapter(name, default_uri = nil)
19
- begin
20
- DataMapper.setup(name, ENV["#{ENV['ADAPTER'].to_s.upcase}_SPEC_URI"] || default_uri)
21
- Object.const_set('ADAPTER', ENV['ADAPTER'].to_sym) if name.to_s == ENV['ADAPTER']
22
- true
23
- rescue Exception => e
24
- if name.to_s == ENV['ADAPTER']
25
- Object.const_set('ADAPTER', nil)
26
- warn "Could not load do_#{name}: #{e}"
27
- end
28
- false
29
- end
30
- end
31
-
32
- # have the loggers handy
33
- # DataObjects::Logger.new(STDOUT, :debug)
34
- # DataObjects::Sqlite3.logger = DataObjects::Logger.new(STDOUT, :debug)
35
-
36
- # -----------------------------------------------
37
- # support for nice html output in rspec tmbundle
38
- # -----------------------------------------------
39
-
40
- USE_TEXTMATE_RSPEC_BUNDLE = true # set to false if not using textmate
41
-
42
- if USE_TEXTMATE_RSPEC_BUNDLE
43
-
44
- require Pathname(__FILE__).dirname.expand_path + 'lib/rspec_tmbundle_support'
45
-
46
- # use the tmbundle logger
47
- #RSpecTmBundleHelpers::TextmateRspecLogger.new(STDOUT, :off)
48
-
49
-
50
- class Object
51
- include RSpecTmBundleHelpers
52
- end
53
-
54
- end
55
-
56
- ENV['ADAPTER'] ||= 'sqlite3'
57
- setup_adapter(:default)
58
- Dir[Pathname(__FILE__).dirname.to_s + "/fixtures/**/*.rb"].each { |rb| require(rb) }
59
-
5
+ DataMapper::Spec.setup
60
6
 
61
7
  Spec::Runner.configure do |config|
62
8
 
@@ -64,4 +10,10 @@ Spec::Runner.configure do |config|
64
10
  DataMapper.auto_migrate!
65
11
  end
66
12
 
13
+ config.after(:suite) do
14
+ if DataMapper.respond_to?(:auto_migrate_down!, true)
15
+ DataMapper.send(:auto_migrate_down!, DataMapper::Spec.adapter.name)
16
+ end
17
+ end
18
+
67
19
  end
File without changes
@@ -0,0 +1 @@
1
+ task :ci => [ :verify_measurements, 'metrics:all' ]
File without changes
@@ -0,0 +1,18 @@
1
+ desc "Support bundling from local source code (allows BUNDLE_GEMFILE=Gemfile.local bundle foo)"
2
+ task :local_gemfile do |t|
3
+
4
+ root = Pathname(__FILE__).dirname.parent
5
+ datamapper = root.parent
6
+
7
+ source_regex = /DATAMAPPER = 'git:\/\/github.com\/datamapper'/
8
+ gem_source_regex = /:git => \"#\{DATAMAPPER\}\/(.+?)(?:\.git)?\"/
9
+
10
+ root.join('Gemfile.local').open('w') do |f|
11
+ root.join('Gemfile').open.each do |line|
12
+ line.sub!(source_regex, "DATAMAPPER = '#{datamapper}'")
13
+ line.sub!(gem_source_regex, ':path => "#{DATAMAPPER}/\1"')
14
+ f.puts line
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,36 @@
1
+ begin
2
+ require 'metric_fu'
3
+ rescue LoadError
4
+ namespace :metrics do
5
+ task :all do
6
+ abort 'metric_fu is not available. In order to run metrics:all, you must: gem install metric_fu'
7
+ end
8
+ end
9
+ end
10
+
11
+ begin
12
+ require 'reek/adapters/rake_task'
13
+
14
+ Reek::RakeTask.new do |t|
15
+ t.fail_on_error = true
16
+ t.verbose = false
17
+ t.source_files = 'lib/**/*.rb'
18
+ end
19
+ rescue LoadError
20
+ task :reek do
21
+ abort 'Reek is not available. In order to run reek, you must: gem install reek'
22
+ end
23
+ end
24
+
25
+ begin
26
+ require 'roodi'
27
+ require 'roodi_task'
28
+
29
+ RoodiTask.new do |t|
30
+ t.verbose = false
31
+ end
32
+ rescue LoadError
33
+ task :roodi do
34
+ abort 'Roodi is not available. In order to run roodi, you must: gem install roodi'
35
+ end
36
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec/rake/spectask'
2
+ require 'spec/rake/verify_rcov'
3
+
4
+ spec_defaults = lambda do |spec|
5
+ spec.pattern = 'spec/**/*_spec.rb'
6
+ spec.libs << 'lib' << 'spec'
7
+ spec.spec_opts << '--options' << 'spec/spec.opts'
8
+ end
9
+
10
+ Spec::Rake::SpecTask.new(:spec, &spec_defaults)
11
+
12
+ Spec::Rake::SpecTask.new(:rcov) do |rcov|
13
+ spec_defaults.call(rcov)
14
+ rcov.rcov = true
15
+ rcov.rcov_opts = File.read('spec/rcov.opts').split(/\s+/)
16
+ end
17
+
18
+ RCov::VerifyTask.new(:verify_rcov => :rcov) do |rcov|
19
+ rcov.threshold = 100
20
+ end
21
+
22
+ task :default => :spec
File without changes
@@ -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 CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-is-localizable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - Martin Gamsjaeger (snusnu)
@@ -9,49 +15,87 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-02-04 00:00:00 +01:00
18
+ date: 2010-06-08 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: dm-core
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
- - - ">="
27
+ - - ~>
22
28
  - !ruby/object:Gem::Version
23
- version: 0.10.2
24
- version:
29
+ hash: 23
30
+ segments:
31
+ - 1
32
+ - 0
33
+ - 0
34
+ version: 1.0.0
35
+ type: :runtime
36
+ version_requirements: *id001
25
37
  - !ruby/object:Gem::Dependency
26
38
  name: dm-is-remixable
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
30
42
  requirements:
31
- - - ">="
43
+ - - ~>
32
44
  - !ruby/object:Gem::Version
33
- version: 0.10.2
34
- version:
45
+ hash: 23
46
+ segments:
47
+ - 1
48
+ - 0
49
+ - 0
50
+ version: 1.0.0
51
+ type: :runtime
52
+ version_requirements: *id002
35
53
  - !ruby/object:Gem::Dependency
36
54
  name: dm-validations
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
40
58
  requirements:
41
- - - ">="
59
+ - - ~>
42
60
  - !ruby/object:Gem::Version
43
- version: 0.10.2
44
- version:
61
+ hash: 23
62
+ segments:
63
+ - 1
64
+ - 0
65
+ - 0
66
+ version: 1.0.0
67
+ type: :runtime
68
+ version_requirements: *id003
45
69
  - !ruby/object:Gem::Dependency
46
70
  name: rspec
47
- type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
50
74
  requirements:
51
75
  - - ~>
52
76
  - !ruby/object:Gem::Version
77
+ hash: 9
78
+ segments:
79
+ - 1
80
+ - 3
53
81
  version: "1.3"
54
- version:
82
+ type: :development
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: yard
86
+ prerelease: false
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ hash: 1
93
+ segments:
94
+ - 0
95
+ - 5
96
+ version: "0.5"
97
+ type: :development
98
+ version_requirements: *id005
55
99
  description:
56
100
  email: gamsnjaga@gmail.com
57
101
  executables: []
@@ -66,6 +110,7 @@ files:
66
110
  - .document
67
111
  - .gitignore
68
112
  - CHANGELOG
113
+ - Gemfile
69
114
  - LICENSE
70
115
  - README.textile
71
116
  - Rakefile
@@ -78,6 +123,7 @@ files:
78
123
  - lib/dm-is-localizable/storage/translation.rb
79
124
  - spec/fixtures/item.rb
80
125
  - spec/lib/rspec_tmbundle_support.rb
126
+ - spec/rcov.opts
81
127
  - spec/shared/shared_examples_spec.rb
82
128
  - spec/spec.opts
83
129
  - spec/spec_helper.rb
@@ -87,9 +133,15 @@ files:
87
133
  - spec/unit/is_localizable_spec.rb
88
134
  - spec/unit/language_spec.rb
89
135
  - spec/unit/translation_spec.rb
90
- - tasks/changelog.rb
91
- - tasks/install.rb
92
- - tasks/whitespace.rb
136
+ - tasks/changelog.rake
137
+ - tasks/ci.rake
138
+ - tasks/install.rake
139
+ - tasks/local_gemfile.rake
140
+ - tasks/metrics.rake
141
+ - tasks/spec.rake
142
+ - tasks/whitespace.rake
143
+ - tasks/yard.rake
144
+ - tasks/yardstick.rake
93
145
  has_rdoc: true
94
146
  homepage: http://github.com/snusnu/dm-is-localizable
95
147
  licenses: []
@@ -100,21 +152,27 @@ rdoc_options:
100
152
  require_paths:
101
153
  - lib
102
154
  required_ruby_version: !ruby/object:Gem::Requirement
155
+ none: false
103
156
  requirements:
104
157
  - - ">="
105
158
  - !ruby/object:Gem::Version
159
+ hash: 3
160
+ segments:
161
+ - 0
106
162
  version: "0"
107
- version:
108
163
  required_rubygems_version: !ruby/object:Gem::Requirement
164
+ none: false
109
165
  requirements:
110
166
  - - ">="
111
167
  - !ruby/object:Gem::Version
168
+ hash: 3
169
+ segments:
170
+ - 0
112
171
  version: "0"
113
- version:
114
172
  requirements: []
115
173
 
116
174
  rubyforge_project:
117
- rubygems_version: 1.3.5
175
+ rubygems_version: 1.3.7
118
176
  signing_key:
119
177
  specification_version: 3
120
178
  summary: Datamapper support for localization of content in multilanguage applications