badgeable 0.4.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,35 +1,77 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- badgeable (0.3.2)
4
+ badgeable (0.5.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
8
8
  specs:
9
- builder (2.1.2)
10
- cucumber (0.9.2)
11
- builder (~> 2.1.2)
12
- diff-lcs (~> 1.1.2)
13
- gherkin (~> 2.2.5)
14
- json (~> 1.4.6)
15
- term-ansicolor (~> 1.0.5)
16
- diff-lcs (1.1.2)
17
- factory_girl (1.3.2)
18
- gherkin (2.2.8)
19
- json (~> 1.4.6)
20
- term-ansicolor (~> 1.0.5)
21
- json (1.4.6)
22
- rspec (2.0.0.rc)
23
- rspec-core (= 2.0.0.rc)
24
- rspec-expectations (= 2.0.0.rc)
25
- rspec-mocks (= 2.0.0.rc)
26
- rspec-core (2.0.0.rc)
27
- rspec-expectations (2.0.0.rc)
9
+ actionpack (3.2.3)
10
+ activemodel (= 3.2.3)
11
+ activesupport (= 3.2.3)
12
+ builder (~> 3.0.0)
13
+ erubis (~> 2.7.0)
14
+ journey (~> 1.0.1)
15
+ rack (~> 1.4.0)
16
+ rack-cache (~> 1.2)
17
+ rack-test (~> 0.6.1)
18
+ sprockets (~> 2.1.2)
19
+ activemodel (3.2.3)
20
+ activesupport (= 3.2.3)
21
+ builder (~> 3.0.0)
22
+ activesupport (3.2.3)
23
+ i18n (~> 0.6)
24
+ multi_json (~> 1.0)
25
+ builder (3.0.0)
26
+ cucumber (1.1.9)
27
+ builder (>= 2.1.2)
28
28
  diff-lcs (>= 1.1.2)
29
- rspec-mocks (2.0.0.rc)
30
- rspec-core (= 2.0.0.rc)
31
- rspec-expectations (= 2.0.0.rc)
32
- term-ansicolor (1.0.5)
29
+ gherkin (~> 2.9.0)
30
+ json (>= 1.4.6)
31
+ term-ansicolor (>= 1.0.6)
32
+ diff-lcs (1.1.3)
33
+ erubis (2.7.0)
34
+ factory_girl (3.0.0)
35
+ activesupport (>= 3.0.0)
36
+ gherkin (2.9.3)
37
+ json (>= 1.4.6)
38
+ hike (1.2.1)
39
+ i18n (0.6.0)
40
+ journey (1.0.3)
41
+ json (1.6.6)
42
+ multi_json (1.2.0)
43
+ rack (1.4.1)
44
+ rack-cache (1.2)
45
+ rack (>= 0.4)
46
+ rack-ssl (1.3.2)
47
+ rack
48
+ rack-test (0.6.1)
49
+ rack (>= 1.0)
50
+ railties (3.2.3)
51
+ actionpack (= 3.2.3)
52
+ activesupport (= 3.2.3)
53
+ rack-ssl (~> 1.3.2)
54
+ rake (>= 0.8.7)
55
+ rdoc (~> 3.4)
56
+ thor (~> 0.14.6)
57
+ rake (0.9.2.2)
58
+ rdoc (3.12)
59
+ json (~> 1.4)
60
+ rspec (2.9.0)
61
+ rspec-core (~> 2.9.0)
62
+ rspec-expectations (~> 2.9.0)
63
+ rspec-mocks (~> 2.9.0)
64
+ rspec-core (2.9.0)
65
+ rspec-expectations (2.9.0)
66
+ diff-lcs (~> 1.1.3)
67
+ rspec-mocks (2.9.0)
68
+ sprockets (2.1.2)
69
+ hike (~> 1.2)
70
+ rack (~> 1.0)
71
+ tilt (~> 1.1, != 1.3.0)
72
+ term-ansicolor (1.0.7)
73
+ thor (0.14.6)
74
+ tilt (1.3.3)
33
75
 
34
76
  PLATFORMS
35
77
  ruby
@@ -39,4 +81,6 @@ DEPENDENCIES
39
81
  bundler (>= 1.0.0)
40
82
  cucumber
41
83
  factory_girl (>= 1.3.2)
84
+ railties
85
+ rake (~> 0.8)
42
86
  rspec (>= 2.0.0.rc)
@@ -19,6 +19,8 @@ Gem::Specification.new do |s|
19
19
  s.add_development_dependency "rspec", ">= 2.0.0.rc"
20
20
  s.add_development_dependency "cucumber"
21
21
  s.add_development_dependency "factory_girl", ">= 1.3.2"
22
+ s.add_development_dependency "rake", "~> 0.8"
23
+ s.add_development_dependency "railties"
22
24
 
23
25
  s.files = `git ls-files`.split("\n")
24
26
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
@@ -5,8 +5,8 @@ require 'active_support/dependencies'
5
5
  require 'active_support/concern'
6
6
 
7
7
  # if defined?(Mongoid)
8
- autoload :Badge, 'badgeable/adapters/mongoid_adapter/badge'
9
- autoload :Badging, 'badgeable/adapters/mongoid_adapter/badging'
8
+ # autoload :Badge, 'badgeable/adapters/mongoid_adapter/badge'
9
+ # autoload :Badging, 'badgeable/adapters/mongoid_adapter/badging'
10
10
  # end
11
11
  #
12
12
  # if defined?(ActiveRecord)
@@ -22,10 +22,10 @@ module Badgeable
22
22
  autoload :Dsl, 'badgeable/dsl'
23
23
  autoload :Subject, 'badgeable/subject'
24
24
  autoload :Verson, 'badgeable/version'
25
- module Adapters
26
- autoload :ActiveRecordAdapter, "badgeable/adapters/active_record_adapter"
27
- autoload :MongoidAdapter, "badgeable/adapters/mongoid_adapter"
28
- end
25
+ # module Adapters
26
+ # autoload :ActiveRecordAdapter, "badgeable/adapters/active_record_adapter"
27
+ # autoload :MongoidAdapter, "badgeable/adapters/mongoid_adapter"
28
+ # end
29
29
  end
30
30
 
31
31
  require 'badgeable/railtie' if defined?(Rails)
@@ -1,8 +1,21 @@
1
1
  module Badgeable
2
2
  module Adapters
3
+
4
+ class << self
5
+ attr_accessor :current_adapter
6
+ end
7
+
8
+ def self.use(adapter)
9
+ @current_adapter = adapter
10
+ end
11
+
12
+ def self.supported_adapters
13
+ [:active_record, :mongoid]
14
+ end
15
+
3
16
  def self.connect(klass)
4
- klass.send(:include, Badgeable::Adapters::MongoidAdapter) if defined?(Mongoid) && klass.include?(::Mongoid::Document)
5
- klass.send(:include, Badgeable::Adapters::ActiveRecordAdapter) if defined?(ActiveRecord) && klass.superclass == ActiveRecord::Base
17
+ raise ArgumentError, "Badgeable needs a database adapter to work. Add one of the following to your Gemfile: #{Badgeable::Adapters.supported_adapters.map {|name| 'badgeable_' + name }}" unless Badgeable::Adapters.current_adapter && (Badgeable::Adapters.supported_adapters.include? Badgeable::Adapters.current_adapter)
18
+ klass.send(:include, "Badgeable::Adapters::#{current_adapter.to_s.camelize}Adapter".constantize)
6
19
  end
7
20
  end
8
21
  end
@@ -1,11 +1,26 @@
1
1
  module Badgeable
2
2
  class Railtie < ::Rails::Railtie
3
+
4
+ def badge_definition_file
5
+ "#{Rails.root}/lib/badges.rb"
6
+ end
7
+
3
8
  initializer "badgeable.assign_badge_definitions_file" do
4
- Badgeable::Config.badge_definitions = Pathname.new("#{Rails.root}/lib/badges.rb")
9
+ if File.exists?(badge_definition_file)
10
+ Badgeable::Config.badge_definitions = File.read(Pathname.new(badge_definition_file))
11
+ else
12
+ Rails.logger.warn "Badgeable badges.rb file not found; add your badge definitions to #{badge_definition_file}, or run `rails g badgeable:setup` to get started"
13
+ Badgeable::Config.badge_definitions = ""
14
+ end
5
15
  end
6
16
 
7
17
  config.to_prepare do
8
- Badgeable::Dsl.class_eval(File.read(Badgeable::Config.badge_definitions))
18
+ Badgeable::Dsl.class_eval Badgeable::Config.badge_definitions
19
+ end
20
+
21
+ generators do
22
+ require "generators/badgeable_generator"
23
+ require "generators/setup/definitions_generator"
9
24
  end
10
25
  end
11
26
  end
@@ -1,3 +1,3 @@
1
1
  module Badgeable
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -0,0 +1,9 @@
1
+ module Badgeable
2
+ module Generators
3
+ class Base < Rails::Generators::Base
4
+ def self.source_root
5
+ @source_root ||= File.expand_path("../templates", __FILE__)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Badgeable
2
+ module Generators
3
+ class DefinitionsGenerator < Badgeable::Generators::Base
4
+ def create_badge_definitions_file
5
+ lib "badges.rb", "# Define your badges here; see https://github.com/scottburton11/Badgeable for details"
6
+ end
7
+ end
8
+ end
9
+ end
metadata CHANGED
@@ -1,91 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: badgeable
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 4
8
- - 0
9
- version: 0.4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.1
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Scott Burton
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-12-17 00:00:00 -08:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-04-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: bundler
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2152718340 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 0
31
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
32
21
  version: 1.0.0
33
22
  type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rspec
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2152718340
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &2152717860 !ruby/object:Gem::Requirement
39
28
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 2
45
- - 0
46
- - 0
47
- - rc
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
48
32
  version: 2.0.0.rc
49
33
  type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: cucumber
53
34
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2152717860
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ requirement: &2152717480 !ruby/object:Gem::Requirement
55
39
  none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- segments:
60
- - 0
61
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
62
44
  type: :development
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: factory_girl
66
45
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2152717480
47
+ - !ruby/object:Gem::Dependency
48
+ name: factory_girl
49
+ requirement: &2152716940 !ruby/object:Gem::Requirement
68
50
  none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- segments:
73
- - 1
74
- - 3
75
- - 2
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
76
54
  version: 1.3.2
77
55
  type: :development
78
- version_requirements: *id004
79
- description: Badgeable provides an elegant DSL for describing and awarding badges to your Ruby objects.
80
- email:
56
+ prerelease: false
57
+ version_requirements: *2152716940
58
+ - !ruby/object:Gem::Dependency
59
+ name: rake
60
+ requirement: &2152716440 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '0.8'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *2152716440
69
+ - !ruby/object:Gem::Dependency
70
+ name: railties
71
+ requirement: &2152716060 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *2152716060
80
+ description: Badgeable provides an elegant DSL for describing and awarding badges
81
+ to your Ruby objects.
82
+ email:
81
83
  - scottburton11@gmail.com
82
84
  executables: []
83
-
84
85
  extensions: []
85
-
86
86
  extra_rdoc_files: []
87
-
88
- files:
87
+ files:
89
88
  - .gitignore
90
89
  - Gemfile
91
90
  - Gemfile.lock
@@ -113,42 +112,36 @@ files:
113
112
  - lib/badgeable/railtie.rb
114
113
  - lib/badgeable/subject.rb
115
114
  - lib/badgeable/version.rb
115
+ - lib/generators/badgeable_generator.rb
116
+ - lib/generators/setup/definitions_generator.rb
116
117
  - lib/generators/templates/badge.rb
117
118
  - lib/generators/templates/badging.rb
118
119
  - spec/spec_helper.rb
119
- has_rdoc: true
120
120
  homepage: http://rubygems.org/gems/badgeable
121
121
  licenses: []
122
-
123
122
  post_install_message:
124
123
  rdoc_options: []
125
-
126
- require_paths:
124
+ require_paths:
127
125
  - lib
128
- required_ruby_version: !ruby/object:Gem::Requirement
126
+ required_ruby_version: !ruby/object:Gem::Requirement
129
127
  none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- segments:
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ segments:
134
133
  - 0
135
- version: "0"
136
- required_rubygems_version: !ruby/object:Gem::Requirement
134
+ hash: -656658032603044552
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
137
136
  none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- segments:
142
- - 1
143
- - 3
144
- - 6
137
+ requirements:
138
+ - - ! '>='
139
+ - !ruby/object:Gem::Version
145
140
  version: 1.3.6
146
141
  requirements: []
147
-
148
142
  rubyforge_project: badgeable
149
- rubygems_version: 1.3.7
143
+ rubygems_version: 1.8.17
150
144
  signing_key:
151
145
  specification_version: 3
152
146
  summary: Badgeable is an elegant DSL for awarding badges
153
147
  test_files: []
154
-