flip_fork 0.1.1 → 0.2.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 +2 -0
- data/lib/flip/controller_filters.rb +12 -8
- data/lib/flip/cookie_strategy.rb +14 -5
- data/lib/flip/definition.rb +1 -2
- data/lib/flip/version.rb +1 -1
- data/lib/flip.rb +1 -1
- data/lib/generators/flip/install/install_generator.rb +11 -1
- data/lib/generators/flip/migration/templates/create_features.rb +5 -1
- metadata +14 -4
- checksums.yaml +0 -7
data/.gitignore
CHANGED
@@ -1,21 +1,25 @@
|
|
1
1
|
module Flip
|
2
2
|
module ControllerFilters
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
# extend ActiveSupport::Concern # rails ~> 3
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.extend ClassMethods
|
7
|
+
base.class_eval do
|
8
|
+
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
6
12
|
module ClassMethods
|
7
|
-
|
8
|
-
def require_feature key, options = {}
|
13
|
+
def require_feature(key, options = {})
|
9
14
|
before_filter options do
|
10
15
|
flip_feature_disabled key unless Flip.on? key
|
11
16
|
end
|
12
17
|
end
|
13
|
-
|
14
18
|
end
|
15
|
-
|
19
|
+
|
20
|
+
|
16
21
|
def flip_feature_disabled key
|
17
22
|
raise Flip::Forbidden.new(key)
|
18
23
|
end
|
19
|
-
|
20
24
|
end
|
21
25
|
end
|
data/lib/flip/cookie_strategy.rb
CHANGED
@@ -45,18 +45,27 @@ module Flip
|
|
45
45
|
# Users before_filter and after_filter rather than around_filter to
|
46
46
|
# avoid pointlessly adding to stack depth.
|
47
47
|
module Loader
|
48
|
-
extend ActiveSupport::Concern
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
# extend ActiveSupport::Concern # rails ~> 3
|
49
|
+
|
50
|
+
def self.included(base)
|
51
|
+
base.extend ClassMethods
|
52
|
+
base.before_filter :flip_cookie_strategy_before
|
53
|
+
base.after_filter :flip_cookie_strategy_after
|
54
|
+
base.class_eval do
|
55
|
+
|
56
|
+
end
|
52
57
|
end
|
58
|
+
|
53
59
|
def flip_cookie_strategy_before
|
54
60
|
CookieStrategy.cookies = cookies
|
55
61
|
end
|
56
62
|
def flip_cookie_strategy_after
|
57
63
|
CookieStrategy.cookies = nil
|
58
64
|
end
|
59
|
-
|
65
|
+
|
66
|
+
module ClassMethods
|
60
67
|
|
68
|
+
end
|
69
|
+
end
|
61
70
|
end
|
62
71
|
end
|
data/lib/flip/definition.rb
CHANGED
data/lib/flip/version.rb
CHANGED
data/lib/flip.rb
CHANGED
@@ -1,4 +1,14 @@
|
|
1
|
-
class Flip::InstallGenerator < Rails::Generators::Base
|
1
|
+
# class Flip::InstallGenerator < Rails::Generators::Base
|
2
|
+
#
|
3
|
+
# def invoke_generators
|
4
|
+
# %w{ model migration routes }.each do |name|
|
5
|
+
# generate "flip:#{name}"
|
6
|
+
# end
|
7
|
+
# end
|
8
|
+
#
|
9
|
+
# end
|
10
|
+
|
11
|
+
class Flip::InstallGenerator < Rails::Generator::NamedBase
|
2
12
|
|
3
13
|
def invoke_generators
|
4
14
|
%w{ model migration routes }.each do |name|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class CreateFeatures < ActiveRecord::Migration
|
2
|
-
def
|
2
|
+
def self.up
|
3
3
|
create_table :features do |t|
|
4
4
|
t.string :key, null: false
|
5
5
|
t.boolean :enabled, null: false, default: false
|
@@ -7,4 +7,8 @@ class CreateFeatures < ActiveRecord::Migration
|
|
7
7
|
t.timestamps null: false
|
8
8
|
end
|
9
9
|
end
|
10
|
+
|
11
|
+
def self.down
|
12
|
+
drop_table :features
|
13
|
+
end
|
10
14
|
end
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flip_fork
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Paul Annesley
|
@@ -14,6 +15,7 @@ dependencies:
|
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: activesupport
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
20
|
- - ~>
|
19
21
|
- !ruby/object:Gem::Version
|
@@ -21,6 +23,7 @@ dependencies:
|
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
28
|
- - ~>
|
26
29
|
- !ruby/object:Gem::Version
|
@@ -28,6 +31,7 @@ dependencies:
|
|
28
31
|
- !ruby/object:Gem::Dependency
|
29
32
|
name: i18n
|
30
33
|
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
31
35
|
requirements:
|
32
36
|
- - ! '>='
|
33
37
|
- !ruby/object:Gem::Version
|
@@ -35,6 +39,7 @@ dependencies:
|
|
35
39
|
type: :runtime
|
36
40
|
prerelease: false
|
37
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
38
43
|
requirements:
|
39
44
|
- - ! '>='
|
40
45
|
- !ruby/object:Gem::Version
|
@@ -42,6 +47,7 @@ dependencies:
|
|
42
47
|
- !ruby/object:Gem::Dependency
|
43
48
|
name: rspec
|
44
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
45
51
|
requirements:
|
46
52
|
- - ~>
|
47
53
|
- !ruby/object:Gem::Version
|
@@ -49,6 +55,7 @@ dependencies:
|
|
49
55
|
type: :development
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
52
59
|
requirements:
|
53
60
|
- - ~>
|
54
61
|
- !ruby/object:Gem::Version
|
@@ -56,6 +63,7 @@ dependencies:
|
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
64
|
name: rake
|
58
65
|
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
68
|
- - ! '>='
|
61
69
|
- !ruby/object:Gem::Version
|
@@ -63,6 +71,7 @@ dependencies:
|
|
63
71
|
type: :development
|
64
72
|
prerelease: false
|
65
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
66
75
|
requirements:
|
67
76
|
- - ! '>='
|
68
77
|
- !ruby/object:Gem::Version
|
@@ -122,26 +131,27 @@ files:
|
|
122
131
|
- spec/spec_helper.rb
|
123
132
|
homepage: https://github.com/newdark/flip
|
124
133
|
licenses: []
|
125
|
-
metadata: {}
|
126
134
|
post_install_message:
|
127
135
|
rdoc_options: []
|
128
136
|
require_paths:
|
129
137
|
- lib
|
130
138
|
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
131
140
|
requirements:
|
132
141
|
- - ! '>='
|
133
142
|
- !ruby/object:Gem::Version
|
134
143
|
version: '0'
|
135
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
136
146
|
requirements:
|
137
147
|
- - ! '>='
|
138
148
|
- !ruby/object:Gem::Version
|
139
149
|
version: '0'
|
140
150
|
requirements: []
|
141
151
|
rubyforge_project:
|
142
|
-
rubygems_version:
|
152
|
+
rubygems_version: 1.8.24
|
143
153
|
signing_key:
|
144
|
-
specification_version:
|
154
|
+
specification_version: 3
|
145
155
|
summary: A feature flipper for Rails web applications.
|
146
156
|
test_files:
|
147
157
|
- spec/abstract_strategy_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: b5aa2bf1aed6166a01f1d1ba9ea1e39c2e696281
|
4
|
-
data.tar.gz: 99aa42db56689357f02713c8f00bd08a05ee5f8a
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 9bf03f1c45dd514af01b2079176128c09837f8aaf75b9a0c27f55ad5538181ea4efed3522ec1fe23b28a341ee25edbe3e38fd4269dddde4589b0d81e7540d4f6
|
7
|
-
data.tar.gz: e98be32ba894637bdf81f6ecf68d6ffe2ca78c3ec1d13541c0028c2d57dc2164c1acd1ee6079af06f8dfde6ca8c90dddcc910ee0c1863d42ef7760fd736d46d5
|