arturo 1.1.1 → 1.1.2

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/README.md CHANGED
@@ -74,19 +74,11 @@ feature and deploy it to all users.
74
74
 
75
75
  $ gem install arturo --version="~> 1.0"
76
76
 
77
- **Note**: the following two sections describe the **intended** use of
78
- Arturo with Rails 2. Arturo does not yet have Rails 2 support.
77
+ ### In Rails 2.3
79
78
 
80
- ### In Rails 2, with Bundler
81
-
82
- gem 'arturo', :git => 'git://github.com/jamesarosen/arturo.git',
83
- :tag => 'rails_2_3'
84
-
85
- ### In Rails 2, without Bundler
86
-
87
- Put the `rails_2_3` branch of `git://github.com/jamesarosen/arturo.git` into
88
- your `vendor/plugins/` directory. You can use Git submodules or a simple
89
- checkout.
79
+ For Rails 2.3 support, see the
80
+ [`rails_2_3` branch](http://github.com/jamesarosen/arturo/tree/rails_2_3)
81
+ of Arturo.
90
82
 
91
83
  ## Configuration
92
84
 
@@ -103,6 +95,8 @@ checkout.
103
95
 
104
96
  $ rake db:migrate
105
97
 
98
+ #### Edit the generated migration as necessary
99
+
106
100
  #### Edit the configuration
107
101
 
108
102
  ##### Initializer
@@ -5,18 +5,10 @@ require 'action_controller'
5
5
  # to clean it up a bit?
6
6
  module Arturo
7
7
 
8
- begin
9
- require 'application_controller'
10
- rescue LoadError
11
- # do nothing
12
- end
13
-
14
- base = Object.const_defined?(:ApplicationController) ? ApplicationController : ActionController::Base
15
-
16
8
  # Handles all Feature actions. Clients of the Arturo engine
17
9
  # should redefine Arturo::FeaturesController#permitted? to
18
10
  # return true only for users who are permitted to manage features.
19
- class FeaturesController < base
11
+ class FeaturesController < ApplicationController
20
12
  include Arturo::FeatureManagement
21
13
 
22
14
  unloadable
@@ -8,7 +8,7 @@ module Arturo
8
8
  include Arturo::SpecialHandling
9
9
 
10
10
  Arturo::Feature::SYMBOL_REGEX = /^[a-zA-z][a-zA-Z0-9_]*$/
11
- DEFAULT_ATTRIBUTES = { :deployment_percentage => 0 }
11
+ DEFAULT_ATTRIBUTES = { :deployment_percentage => 0 }.with_indifferent_access
12
12
 
13
13
  attr_readonly :symbol
14
14
 
@@ -69,8 +69,7 @@ module Arturo
69
69
  threshold = self.deployment_percentage || 0
70
70
  return false if threshold == 0
71
71
  return true if threshold == 100
72
- (((feature_recipient.id + 17) * 13) % 100) < threshold
73
-
72
+ (((feature_recipient.id + (self.id || 1) + 17) * 13) % 100) < threshold
74
73
  end
75
74
  end
76
75
  end
@@ -0,0 +1,30 @@
1
+ Arturo.class_eval do
2
+
3
+ # Enable a feature; create it if necessary.
4
+ # For use in testing. Not auto-required on load. To load,
5
+ #
6
+ # require 'arturo/test_support'
7
+ #
8
+ # @param [Symbol, String] name the feature name
9
+ def enable_feature!(name)
10
+ feature = Arturo::Feature.find_by_symbol(name)
11
+ if feature
12
+ feature.update_attributes(:deployment_percentage => 100)
13
+ else
14
+ Arturo::Feature.create(:symbol => name, :deployment_percentage => 100)
15
+ end
16
+ end
17
+
18
+ # Disable a feature if it exists.
19
+ # For use in testing. Not auto-required on load. To load,
20
+ #
21
+ # require 'arturo/test_support'
22
+ #
23
+ # @param [Symbol, String] name the feature name
24
+ def disable_feature!(name)
25
+ if (feature = Arturo::Feature.find_by_symbol(name))
26
+ feature.update_attributes(:deployment_percentage => 0)
27
+ end
28
+ end
29
+
30
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 1
8
- - 1
9
- version: 1.1.1
8
+ - 2
9
+ version: 1.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - James A. Rosen
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-25 00:00:00 -07:00
17
+ date: 2010-11-04 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -114,6 +114,7 @@ files:
114
114
  - lib/arturo/feature_factories.rb
115
115
  - lib/arturo/feature_management.rb
116
116
  - lib/arturo/special_handling.rb
117
+ - lib/arturo/test_support.rb
117
118
  - lib/arturo.rb
118
119
  - lib/generators/arturo/assets_generator.rb
119
120
  - lib/generators/arturo/initializer_generator.rb