flipper-ui 0.17.2 → 0.18.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.
- checksums.yaml +4 -4
- data/docs/ui/README.md +15 -5
- data/examples/ui/basic.ru +19 -0
- data/flipper-ui.gemspec +1 -2
- data/lib/flipper/ui.rb +0 -3
- data/lib/flipper/ui/action.rb +2 -1
- data/lib/flipper/ui/actions/feature.rb +5 -2
- data/lib/flipper/ui/actions/features.rb +1 -0
- data/lib/flipper/ui/actions/file.rb +1 -1
- data/lib/flipper/ui/assets/javascripts/application.coffee +5 -3
- data/lib/flipper/ui/configuration.rb +14 -10
- data/lib/flipper/ui/decorators/feature.rb +39 -13
- data/lib/flipper/ui/public/css/application.css +20 -6493
- data/lib/flipper/ui/public/js/application.js +5 -5
- data/lib/flipper/ui/util.rb +40 -0
- data/lib/flipper/ui/views/add_actor.erb +1 -1
- data/lib/flipper/ui/views/add_feature.erb +1 -1
- data/lib/flipper/ui/views/add_group.erb +1 -1
- data/lib/flipper/ui/views/feature.erb +198 -179
- data/lib/flipper/ui/views/features.erb +42 -36
- data/lib/flipper/ui/views/layout.erb +4 -14
- data/lib/flipper/version.rb +1 -1
- data/spec/flipper/ui/actions/actors_gate_spec.rb +0 -4
- data/spec/flipper/ui/actions/feature_spec.rb +14 -16
- data/spec/flipper/ui/actions/features_spec.rb +1 -5
- data/spec/flipper/ui/actions/file_spec.rb +0 -10
- data/spec/flipper/ui/actions/groups_gate_spec.rb +0 -6
- data/spec/flipper/ui/actions/percentage_of_actors_gate_spec.rb +0 -2
- data/spec/flipper/ui/actions/percentage_of_time_gate_spec.rb +0 -2
- data/spec/flipper/ui/configuration_spec.rb +21 -34
- data/spec/flipper/ui/decorators/feature_spec.rb +0 -30
- metadata +5 -121
- data/lib/flipper/ui/assets/stylesheets/.DS_Store +0 -0
- data/lib/flipper/ui/assets/stylesheets/application.scss +0 -19
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_alert.scss +0 -51
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_badge.scss +0 -47
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_breadcrumb.scss +0 -38
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_button-group.scss +0 -166
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_buttons.scss +0 -143
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_card.scss +0 -270
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_carousel.scss +0 -191
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_close.scss +0 -34
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_code.scss +0 -56
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_custom-forms.scss +0 -297
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_dropdown.scss +0 -131
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_forms.scss +0 -333
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_functions.scss +0 -86
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_grid.scss +0 -52
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_images.scss +0 -42
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_input-group.scss +0 -159
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_jumbotron.scss +0 -16
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_list-group.scss +0 -115
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_mixins.scss +0 -42
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_modal.scss +0 -168
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_nav.scss +0 -118
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_navbar.scss +0 -311
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_pagination.scss +0 -77
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_popover.scss +0 -183
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_print.scss +0 -124
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_progress.scss +0 -33
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_reboot.scss +0 -482
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_root.scss +0 -19
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_tables.scss +0 -180
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_tooltip.scss +0 -115
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_transitions.scss +0 -36
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_type.scss +0 -125
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_utilities.scss +0 -14
- data/lib/flipper/ui/assets/stylesheets/bootstrap/_variables.scss +0 -894
- data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-grid.scss +0 -32
- data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-reboot.scss +0 -12
- data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap.scss +0 -42
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -13
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -12
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -35
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +0 -5
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +0 -123
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -109
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_caret.scss +0 -65
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -7
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_float.scss +0 -11
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -137
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -45
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -67
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -52
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -39
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_image.scss +0 -36
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -21
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_lists.scss +0 -7
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -22
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_reset-text.scss +0 -17
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -35
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_size.scss +0 -6
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -30
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -14
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -9
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +0 -8
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_transition.scss +0 -9
- data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -7
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -59
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_clearfix.scss +0 -3
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_display.scss +0 -38
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -52
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -46
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_float.scss +0 -9
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_position.scss +0 -36
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -12
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -51
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_text.scss +0 -52
- data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -11
- data/lib/flipper/ui/assets/stylesheets/primer/.scss-lint.yml +0 -446
- data/lib/flipper/ui/assets/stylesheets/primer/_alerts.scss +0 -106
- data/lib/flipper/ui/assets/stylesheets/primer/_avatars.scss +0 -36
- data/lib/flipper/ui/assets/stylesheets/primer/_base.scss +0 -40
- data/lib/flipper/ui/assets/stylesheets/primer/_blankslate.scss +0 -96
- data/lib/flipper/ui/assets/stylesheets/primer/_buttons.scss +0 -404
- data/lib/flipper/ui/assets/stylesheets/primer/_counter.scss +0 -10
- data/lib/flipper/ui/assets/stylesheets/primer/_filter-list.scss +0 -68
- data/lib/flipper/ui/assets/stylesheets/primer/_flex-table.scss +0 -20
- data/lib/flipper/ui/assets/stylesheets/primer/_forms.scss +0 -756
- data/lib/flipper/ui/assets/stylesheets/primer/_layout.scss +0 -69
- data/lib/flipper/ui/assets/stylesheets/primer/_menu.scss +0 -113
- data/lib/flipper/ui/assets/stylesheets/primer/_mixins.scss +0 -53
- data/lib/flipper/ui/assets/stylesheets/primer/_normalize.scss +0 -425
- data/lib/flipper/ui/assets/stylesheets/primer/_states.scss +0 -32
- data/lib/flipper/ui/assets/stylesheets/primer/_tabnav.scss +0 -65
- data/lib/flipper/ui/assets/stylesheets/primer/_tooltips.scss +0 -255
- data/lib/flipper/ui/assets/stylesheets/primer/_truncate.scss +0 -27
- data/lib/flipper/ui/assets/stylesheets/primer/_type.scss +0 -92
- data/lib/flipper/ui/assets/stylesheets/primer/_utility.scss +0 -73
- data/lib/flipper/ui/assets/stylesheets/primer/_variables.scss +0 -34
- data/lib/flipper/ui/assets/stylesheets/primer/primer.scss +0 -39
- data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
- data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
- data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
- data/lib/flipper/ui/public/images/remove.png +0 -0
- data/lib/flipper/ui/public/octicons/octicons.less +0 -235
- data/lib/flipper/ui/public/octicons/sprockets-octicons.scss +0 -232
@@ -1,51 +1,57 @@
|
|
1
1
|
<% if @show_blank_slate %>
|
2
2
|
<div class="jumbotron text-center">
|
3
|
-
<span class="mega-octicon octicon-plus"></span>
|
4
|
-
<span class="mega-octicon octicon-list-unordered"></span>
|
5
|
-
<span class="mega-octicon octicon-zap"></span>
|
6
3
|
<% if Flipper::UI.configuration.fun %>
|
7
4
|
<h4>But I've got a blank space baby...</h4>
|
8
5
|
<p>And I'll flip your features.</p>
|
6
|
+
<%- if Flipper::UI.configuration.feature_creation_enabled -%>
|
7
|
+
<p>
|
8
|
+
<a class="btn btn-primary btn-sm" href="<%= script_name %>/features/new">Add Feature</a>
|
9
|
+
</p>
|
10
|
+
<%- end -%>
|
9
11
|
<div class="embed-responsive embed-responsive-16by9">
|
10
12
|
<iframe class="embed-responsive-item" width="560" height="315" src="https://www.youtube.com/embed/e-ORhEE9VVg" frameborder="0" allowfullscreen></iframe>
|
11
13
|
</div>
|
12
14
|
<% else %>
|
13
|
-
<h4>
|
14
|
-
<p>
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
<h4>Getting Started</h4>
|
16
|
+
<p class="mb-1">You have not added any features to configure yet.</p>
|
17
|
+
<%- if Flipper::UI.configuration.feature_creation_enabled -%>
|
18
|
+
<p class="mt-2">
|
19
|
+
<a class="btn btn-primary btn-sm" href="<%= script_name %>/features/new">Add Feature</a>
|
20
|
+
</p>
|
21
|
+
<% else %>
|
22
|
+
<p>
|
23
|
+
Check the <a href="https://github.com/jnunemaker/flipper#examples">examples</a> to
|
24
|
+
learn how to add one.
|
25
|
+
</p>
|
26
|
+
<%- end -%>
|
18
27
|
<% end %>
|
19
28
|
</div>
|
20
29
|
<% else %>
|
21
30
|
<div class="card">
|
22
|
-
<
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
</
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
<% end %>
|
48
|
-
</tbody>
|
49
|
-
</table>
|
31
|
+
<div class="card-header">
|
32
|
+
<%- if Flipper::UI.configuration.feature_creation_enabled -%>
|
33
|
+
<div class="float-right">
|
34
|
+
<a class="btn btn-primary btn-sm" href="<%= script_name %>/features/new">Add Feature</a>
|
35
|
+
</div>
|
36
|
+
<%- end -%>
|
37
|
+
<h4 class="m-0">Features</h4>
|
38
|
+
</div>
|
39
|
+
<div class="card-body py-0">
|
40
|
+
<% @features.each do |feature| %>
|
41
|
+
<div class="feature row align-items-center mt-0 px-3 border-bottom">
|
42
|
+
<div class="col-1 col-md-auto">
|
43
|
+
<span class="octicon octicon-squirrel <%= feature.color_class %>" data-toggle="tooltip" title=<%= feature.state.to_s.capitalize %>></span>
|
44
|
+
</div>
|
45
|
+
<div class="col-10">
|
46
|
+
<a href="<%= "#{script_name}/features/#{feature.key}" %>" class="d-block px-0 py-3 btn text-left text-dark">
|
47
|
+
<div class="text-truncate"><%= feature.key %></div>
|
48
|
+
<div class="text-muted text-truncate">
|
49
|
+
<%== feature.gates_in_words %>
|
50
|
+
</div>
|
51
|
+
</a>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
<% end %>
|
55
|
+
</div>
|
50
56
|
</div>
|
51
57
|
<% end %>
|
@@ -6,17 +6,12 @@
|
|
6
6
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
|
9
|
+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
9
10
|
<link rel="stylesheet" href="<%= script_name %>/octicons/octicons.css">
|
10
11
|
<link rel="stylesheet" href="<%= script_name %>/css/application.css">
|
11
|
-
|
12
|
-
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
13
|
-
<!--[if lt IE 9]>
|
14
|
-
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
15
|
-
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
16
|
-
<![endif]-->
|
17
12
|
</head>
|
18
|
-
<body>
|
19
|
-
<div class="container">
|
13
|
+
<body class="py-4">
|
14
|
+
<div class="container mw-600">
|
20
15
|
<%- unless Flipper::UI.configuration.banner_text.nil? -%>
|
21
16
|
<div class="alert alert-<%= Flipper::UI.configuration.banner_class %> text-center font-weight-bold">
|
22
17
|
<%= Flipper::UI.configuration.banner_text %>
|
@@ -24,7 +19,7 @@
|
|
24
19
|
<%- end -%>
|
25
20
|
|
26
21
|
<nav aria-label="breadcrumb">
|
27
|
-
<ol class="breadcrumb bg-white border
|
22
|
+
<ol class="breadcrumb bg-white border align-items-center mb-4">
|
28
23
|
<% @breadcrumbs.each do |breadcrumb| %>
|
29
24
|
<li class="breadcrumb-item <% if breadcrumb.active? %>active<% end %>">
|
30
25
|
<% if breadcrumb.active? %>
|
@@ -34,11 +29,6 @@
|
|
34
29
|
<% end %>
|
35
30
|
</li>
|
36
31
|
<% end %>
|
37
|
-
<li class="ml-auto">
|
38
|
-
<%- if Flipper::UI.configuration.feature_creation_enabled -%>
|
39
|
-
<a class="btn btn-sm btn-light" href="<%= script_name %>/features/new">Add Feature</a>
|
40
|
-
<%- end -%>
|
41
|
-
</li>
|
42
32
|
</ol>
|
43
33
|
</nav>
|
44
34
|
|
data/lib/flipper/version.rb
CHANGED
@@ -73,23 +73,19 @@ RSpec.describe Flipper::UI::Actions::ActorsGate do
|
|
73
73
|
context 'empty value' do
|
74
74
|
let(:value) { '' }
|
75
75
|
|
76
|
-
# rubocop:disable Layout/LineLength
|
77
76
|
it 'redirects back to feature' do
|
78
77
|
expect(last_response.status).to be(302)
|
79
78
|
expect(last_response.headers['Location']).to eq('/features/search/actors?error=%22%22+is+not+a+valid+actor+value.')
|
80
79
|
end
|
81
|
-
# rubocop:enable Layout/LineLength
|
82
80
|
end
|
83
81
|
|
84
82
|
context 'nil value' do
|
85
83
|
let(:value) { nil }
|
86
84
|
|
87
|
-
# rubocop:disable Layout/LineLength
|
88
85
|
it 'redirects back to feature' do
|
89
86
|
expect(last_response.status).to be(302)
|
90
87
|
expect(last_response.headers['Location']).to eq('/features/search/actors?error=%22%22+is+not+a+valid+actor+value.')
|
91
88
|
end
|
92
|
-
# rubocop:enable Layout/LineLength
|
93
89
|
end
|
94
90
|
end
|
95
91
|
end
|
@@ -70,6 +70,15 @@ RSpec.describe Flipper::UI::Actions::Feature do
|
|
70
70
|
|
71
71
|
describe 'GET /features/:feature' do
|
72
72
|
before do
|
73
|
+
Flipper::UI.configure do |config|
|
74
|
+
config.descriptions_source = lambda { |_keys|
|
75
|
+
{
|
76
|
+
"stats" => "Most awesome stats",
|
77
|
+
"search" => "Most in-depth search",
|
78
|
+
}
|
79
|
+
}
|
80
|
+
end
|
81
|
+
|
73
82
|
get '/features/search'
|
74
83
|
end
|
75
84
|
|
@@ -81,10 +90,11 @@ RSpec.describe Flipper::UI::Actions::Feature do
|
|
81
90
|
expect(last_response.body).to include('search')
|
82
91
|
expect(last_response.body).to include('Enable')
|
83
92
|
expect(last_response.body).to include('Disable')
|
84
|
-
expect(last_response.body).to include('
|
85
|
-
expect(last_response.body).to include('
|
86
|
-
expect(last_response.body).to include('
|
87
|
-
expect(last_response.body).to include('
|
93
|
+
expect(last_response.body).to include('No actors enabled')
|
94
|
+
expect(last_response.body).to include('No groups enabled')
|
95
|
+
expect(last_response.body).to include('Enabled for 0% of time')
|
96
|
+
expect(last_response.body).to include('Enabled for 0% of actors')
|
97
|
+
expect(last_response.body).to include('Most in-depth search')
|
88
98
|
end
|
89
99
|
end
|
90
100
|
|
@@ -99,12 +109,6 @@ RSpec.describe Flipper::UI::Actions::Feature do
|
|
99
109
|
|
100
110
|
it 'renders template' do
|
101
111
|
expect(last_response.body).to include('search_features')
|
102
|
-
expect(last_response.body).to include('Enable')
|
103
|
-
expect(last_response.body).to include('Disable')
|
104
|
-
expect(last_response.body).to include('Actors')
|
105
|
-
expect(last_response.body).to include('Groups')
|
106
|
-
expect(last_response.body).to include('Percentage of Time')
|
107
|
-
expect(last_response.body).to include('Percentage of Actors')
|
108
112
|
end
|
109
113
|
end
|
110
114
|
|
@@ -119,12 +123,6 @@ RSpec.describe Flipper::UI::Actions::Feature do
|
|
119
123
|
|
120
124
|
it 'renders template' do
|
121
125
|
expect(last_response.body).to include('a/b')
|
122
|
-
expect(last_response.body).to include('Enable')
|
123
|
-
expect(last_response.body).to include('Disable')
|
124
|
-
expect(last_response.body).to include('Actors')
|
125
|
-
expect(last_response.body).to include('Groups')
|
126
|
-
expect(last_response.body).to include('Percentage of Time')
|
127
|
-
expect(last_response.body).to include('Percentage of Actors')
|
128
126
|
end
|
129
127
|
end
|
130
128
|
end
|
@@ -62,7 +62,7 @@ RSpec.describe Flipper::UI::Actions::Features do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'renders template' do
|
65
|
-
expect(last_response.body).to include('
|
65
|
+
expect(last_response.body).to include('You have not added any features to configure yet.')
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
@@ -111,12 +111,10 @@ RSpec.describe Flipper::UI::Actions::Features do
|
|
111
111
|
expect(flipper.features.map(&:key)).to eq([])
|
112
112
|
end
|
113
113
|
|
114
|
-
# rubocop:disable Layout/LineLength
|
115
114
|
it 'redirects back to feature' do
|
116
115
|
expect(last_response.status).to be(302)
|
117
116
|
expect(last_response.headers['Location']).to eq('/features/new?error=%22%22+is+not+a+valid+feature+name.')
|
118
117
|
end
|
119
|
-
# rubocop:enable Layout/LineLength
|
120
118
|
end
|
121
119
|
|
122
120
|
context 'nil feature name' do
|
@@ -126,12 +124,10 @@ RSpec.describe Flipper::UI::Actions::Features do
|
|
126
124
|
expect(flipper.features.map(&:key)).to eq([])
|
127
125
|
end
|
128
126
|
|
129
|
-
# rubocop:disable Layout/LineLength
|
130
127
|
it 'redirects back to feature' do
|
131
128
|
expect(last_response.status).to be(302)
|
132
129
|
expect(last_response.headers['Location']).to eq('/features/new?error=%22%22+is+not+a+valid+feature+name.')
|
133
130
|
end
|
134
|
-
# rubocop:enable Layout/LineLength
|
135
131
|
end
|
136
132
|
end
|
137
133
|
end
|
@@ -21,16 +21,6 @@ RSpec.describe Flipper::UI::Actions::File do
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
describe 'GET /fonts/bootstrap/glyphicons-halflings-regular.eot' do
|
25
|
-
before do
|
26
|
-
get '/fonts/bootstrap/glyphicons-halflings-regular.eot'
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'responds with 200' do
|
30
|
-
expect(last_response.status).to be(200)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
24
|
describe 'GET /octicons/octicons.eot' do
|
35
25
|
before do
|
36
26
|
get '/octicons/octicons.eot'
|
@@ -72,34 +72,28 @@ RSpec.describe Flipper::UI::Actions::GroupsGate do
|
|
72
72
|
context 'unknown group name' do
|
73
73
|
let(:group_name) { 'not_here' }
|
74
74
|
|
75
|
-
# rubocop:disable Layout/LineLength
|
76
75
|
it 'redirects back to feature' do
|
77
76
|
expect(last_response.status).to be(302)
|
78
77
|
expect(last_response.headers['Location']).to eq('/features/search/groups?error=The+group+named+%22not_here%22+has+not+been+registered.')
|
79
78
|
end
|
80
|
-
# rubocop:enable Layout/LineLength
|
81
79
|
end
|
82
80
|
|
83
81
|
context 'empty group name' do
|
84
82
|
let(:group_name) { '' }
|
85
83
|
|
86
|
-
# rubocop:disable Layout/LineLength
|
87
84
|
it 'redirects back to feature' do
|
88
85
|
expect(last_response.status).to be(302)
|
89
86
|
expect(last_response.headers['Location']).to eq('/features/search/groups?error=The+group+named+%22%22+has+not+been+registered.')
|
90
87
|
end
|
91
|
-
# rubocop:enable Layout/LineLength
|
92
88
|
end
|
93
89
|
|
94
90
|
context 'nil group name' do
|
95
91
|
let(:group_name) { nil }
|
96
92
|
|
97
|
-
# rubocop:disable Layout/LineLength
|
98
93
|
it 'redirects back to feature' do
|
99
94
|
expect(last_response.status).to be(302)
|
100
95
|
expect(last_response.headers['Location']).to eq('/features/search/groups?error=The+group+named+%22%22+has+not+been+registered.')
|
101
96
|
end
|
102
|
-
# rubocop:enable Layout/LineLength
|
103
97
|
end
|
104
98
|
end
|
105
99
|
end
|
@@ -41,12 +41,10 @@ RSpec.describe Flipper::UI::Actions::PercentageOfActorsGate do
|
|
41
41
|
expect(flipper[:search].percentage_of_actors_value).to be(0)
|
42
42
|
end
|
43
43
|
|
44
|
-
# rubocop:disable Layout/LineLength
|
45
44
|
it 'redirects back to feature' do
|
46
45
|
expect(last_response.status).to be(302)
|
47
46
|
expect(last_response.headers['Location']).to eq('/features/search?error=Invalid+percentage+of+actors+value%3A+value+must+be+a+positive+number+less+than+or+equal+to+100%2C+but+was+555')
|
48
47
|
end
|
49
|
-
# rubocop:enable Layout/LineLength
|
50
48
|
end
|
51
49
|
end
|
52
50
|
end
|
@@ -41,12 +41,10 @@ RSpec.describe Flipper::UI::Actions::PercentageOfTimeGate do
|
|
41
41
|
expect(flipper[:search].percentage_of_time_value).to be(0)
|
42
42
|
end
|
43
43
|
|
44
|
-
# rubocop:disable Layout/LineLength
|
45
44
|
it 'redirects back to feature' do
|
46
45
|
expect(last_response.status).to be(302)
|
47
46
|
expect(last_response.headers['Location']).to eq('/features/search?error=Invalid+percentage+of+time+value%3A+value+must+be+a+positive+number+less+than+or+equal+to+100%2C+but+was+555')
|
48
47
|
end
|
49
|
-
# rubocop:enable Layout/LineLength
|
50
48
|
end
|
51
49
|
end
|
52
50
|
end
|
@@ -3,43 +3,10 @@ require 'helper'
|
|
3
3
|
RSpec.describe Flipper::UI::Configuration do
|
4
4
|
let(:configuration) { described_class.new }
|
5
5
|
|
6
|
-
describe "#actors" do
|
7
|
-
it "has default text" do
|
8
|
-
expect(configuration.actors.title).to eq("Actors")
|
9
|
-
expect(configuration.actors.description).to eq("Enable actors using the form above.")
|
10
|
-
end
|
11
|
-
|
12
|
-
it "can be updated" do
|
13
|
-
configuration.actors.title = "Actors Section"
|
14
|
-
expect(configuration.actors.title).to eq("Actors Section")
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
describe "#groups" do
|
19
|
-
it "has default text" do
|
20
|
-
expect(configuration.groups.title).to eq("Groups")
|
21
|
-
expect(configuration.groups.description).to eq("Enable groups using the form above.")
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe "#percentage_of_actors" do
|
26
|
-
it "has default text" do
|
27
|
-
expect(configuration.percentage_of_actors.title).to eq("Percentage of Actors")
|
28
|
-
expect(configuration.percentage_of_actors.description).to eq("Percentage of actors functions independently of percentage of time. If you enable 50% of Actors and 25% of Time then the feature will always be enabled for 50% of users and occasionally enabled 25% of the time for everyone.") # rubocop:disable Layout/LineLength
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe "#percentage_of_time" do
|
33
|
-
it "has default text" do
|
34
|
-
expect(configuration.percentage_of_time.title).to eq("Percentage of Time")
|
35
|
-
expect(configuration.percentage_of_time.description).to eq("Percentage of actors functions independently of percentage of time. If you enable 50% of Actors and 25% of Time then the feature will always be enabled for 50% of users and occasionally enabled 25% of the time for everyone.") # rubocop:disable Layout/LineLength
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
6
|
describe "#delete" do
|
40
7
|
it "has default text" do
|
41
8
|
expect(configuration.delete.title).to eq("Danger Zone")
|
42
|
-
expect(configuration.delete.description).to eq("Deleting a feature removes it from the list of features and disables it for everyone.")
|
9
|
+
expect(configuration.delete.description).to eq("Deleting a feature removes it from the list of features and disables it for everyone.")
|
43
10
|
end
|
44
11
|
end
|
45
12
|
|
@@ -113,4 +80,24 @@ RSpec.describe Flipper::UI::Configuration do
|
|
113
80
|
expect(configuration.fun).to eq(false)
|
114
81
|
end
|
115
82
|
end
|
83
|
+
|
84
|
+
describe "#descriptions_source" do
|
85
|
+
it "has default value" do
|
86
|
+
expect(configuration.descriptions_source.call(%w[foo bar])).to eq({})
|
87
|
+
end
|
88
|
+
|
89
|
+
context "descriptions source is provided" do
|
90
|
+
it "can be updated" do
|
91
|
+
configuration.descriptions_source = lambda do |_keys|
|
92
|
+
YAML.load_file(FlipperRoot.join('spec/support/descriptions.yml'))
|
93
|
+
end
|
94
|
+
keys = %w[some_awesome_feature foo]
|
95
|
+
result = configuration.descriptions_source.call(keys)
|
96
|
+
expected = {
|
97
|
+
"some_awesome_feature" => "Awesome feature description",
|
98
|
+
}
|
99
|
+
expect(result).to eq(expected)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
116
103
|
end
|
@@ -22,36 +22,6 @@ RSpec.describe Flipper::UI::Decorators::Feature do
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
describe '#as_json' do
|
26
|
-
before do
|
27
|
-
@result = subject.as_json
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'returns Hash' do
|
31
|
-
expect(@result).to be_instance_of(Hash)
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'includes id' do
|
35
|
-
expect(@result['id']).to eq('some_awesome_feature')
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'includes pretty name' do
|
39
|
-
expect(@result['name']).to eq('Some Awesome Feature')
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'includes state' do
|
43
|
-
expect(@result['state']).to eq('off')
|
44
|
-
end
|
45
|
-
|
46
|
-
it 'includes gates' do
|
47
|
-
gates = subject.gates.map do |gate|
|
48
|
-
value = subject.gate_values[gate.key]
|
49
|
-
Flipper::UI::Decorators::Gate.new(gate, value).as_json
|
50
|
-
end
|
51
|
-
expect(@result['gates']).to eq(gates)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
25
|
describe '#<=>' do
|
56
26
|
let(:on) do
|
57
27
|
flipper.enable(:on_a)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flipper-ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Nunemaker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -56,14 +56,14 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
59
|
+
version: 0.18.0
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: 0.
|
66
|
+
version: 0.18.0
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: erubi
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,8 +84,7 @@ dependencies:
|
|
84
84
|
- - "<"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: 2.0.0
|
87
|
-
description:
|
88
|
-
flipper gem.
|
87
|
+
description:
|
89
88
|
email:
|
90
89
|
- nunemaker@gmail.com
|
91
90
|
executables: []
|
@@ -114,113 +113,6 @@ files:
|
|
114
113
|
- lib/flipper/ui/actions/percentage_of_actors_gate.rb
|
115
114
|
- lib/flipper/ui/actions/percentage_of_time_gate.rb
|
116
115
|
- lib/flipper/ui/assets/javascripts/application.coffee
|
117
|
-
- lib/flipper/ui/assets/stylesheets/.DS_Store
|
118
|
-
- lib/flipper/ui/assets/stylesheets/application.scss
|
119
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_alert.scss
|
120
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_badge.scss
|
121
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_breadcrumb.scss
|
122
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_button-group.scss
|
123
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_buttons.scss
|
124
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_card.scss
|
125
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_carousel.scss
|
126
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_close.scss
|
127
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_code.scss
|
128
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_custom-forms.scss
|
129
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_dropdown.scss
|
130
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_forms.scss
|
131
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_functions.scss
|
132
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_grid.scss
|
133
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_images.scss
|
134
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_input-group.scss
|
135
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_jumbotron.scss
|
136
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_list-group.scss
|
137
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_media.scss
|
138
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_mixins.scss
|
139
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_modal.scss
|
140
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_nav.scss
|
141
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_navbar.scss
|
142
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_pagination.scss
|
143
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_popover.scss
|
144
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_print.scss
|
145
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_progress.scss
|
146
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_reboot.scss
|
147
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_root.scss
|
148
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_tables.scss
|
149
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_tooltip.scss
|
150
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_transitions.scss
|
151
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_type.scss
|
152
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_utilities.scss
|
153
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/_variables.scss
|
154
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-grid.scss
|
155
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-reboot.scss
|
156
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap.scss
|
157
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_alert.scss
|
158
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_background-variant.scss
|
159
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_badge.scss
|
160
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_border-radius.scss
|
161
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_box-shadow.scss
|
162
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_breakpoints.scss
|
163
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_buttons.scss
|
164
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_caret.scss
|
165
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_clearfix.scss
|
166
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_float.scss
|
167
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_forms.scss
|
168
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_gradients.scss
|
169
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid-framework.scss
|
170
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid.scss
|
171
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_hover.scss
|
172
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_image.scss
|
173
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_list-group.scss
|
174
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_lists.scss
|
175
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_nav-divider.scss
|
176
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_navbar-align.scss
|
177
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_pagination.scss
|
178
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_reset-text.scss
|
179
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_resize.scss
|
180
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_screen-reader.scss
|
181
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_size.scss
|
182
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_table-row.scss
|
183
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss
|
184
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-hide.scss
|
185
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-truncate.scss
|
186
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_transition.scss
|
187
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_visibility.scss
|
188
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_align.scss
|
189
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_background.scss
|
190
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_borders.scss
|
191
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_clearfix.scss
|
192
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_display.scss
|
193
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_embed.scss
|
194
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_flex.scss
|
195
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_float.scss
|
196
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_position.scss
|
197
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_screenreaders.scss
|
198
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_sizing.scss
|
199
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_spacing.scss
|
200
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_text.scss
|
201
|
-
- lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_visibility.scss
|
202
|
-
- lib/flipper/ui/assets/stylesheets/primer/.scss-lint.yml
|
203
|
-
- lib/flipper/ui/assets/stylesheets/primer/_alerts.scss
|
204
|
-
- lib/flipper/ui/assets/stylesheets/primer/_avatars.scss
|
205
|
-
- lib/flipper/ui/assets/stylesheets/primer/_base.scss
|
206
|
-
- lib/flipper/ui/assets/stylesheets/primer/_blankslate.scss
|
207
|
-
- lib/flipper/ui/assets/stylesheets/primer/_buttons.scss
|
208
|
-
- lib/flipper/ui/assets/stylesheets/primer/_counter.scss
|
209
|
-
- lib/flipper/ui/assets/stylesheets/primer/_filter-list.scss
|
210
|
-
- lib/flipper/ui/assets/stylesheets/primer/_flex-table.scss
|
211
|
-
- lib/flipper/ui/assets/stylesheets/primer/_forms.scss
|
212
|
-
- lib/flipper/ui/assets/stylesheets/primer/_layout.scss
|
213
|
-
- lib/flipper/ui/assets/stylesheets/primer/_menu.scss
|
214
|
-
- lib/flipper/ui/assets/stylesheets/primer/_mixins.scss
|
215
|
-
- lib/flipper/ui/assets/stylesheets/primer/_normalize.scss
|
216
|
-
- lib/flipper/ui/assets/stylesheets/primer/_states.scss
|
217
|
-
- lib/flipper/ui/assets/stylesheets/primer/_tabnav.scss
|
218
|
-
- lib/flipper/ui/assets/stylesheets/primer/_tooltips.scss
|
219
|
-
- lib/flipper/ui/assets/stylesheets/primer/_truncate.scss
|
220
|
-
- lib/flipper/ui/assets/stylesheets/primer/_type.scss
|
221
|
-
- lib/flipper/ui/assets/stylesheets/primer/_utility.scss
|
222
|
-
- lib/flipper/ui/assets/stylesheets/primer/_variables.scss
|
223
|
-
- lib/flipper/ui/assets/stylesheets/primer/primer.scss
|
224
116
|
- lib/flipper/ui/configuration.rb
|
225
117
|
- lib/flipper/ui/configuration/option.rb
|
226
118
|
- lib/flipper/ui/decorators/feature.rb
|
@@ -228,24 +120,16 @@ files:
|
|
228
120
|
- lib/flipper/ui/error.rb
|
229
121
|
- lib/flipper/ui/middleware.rb
|
230
122
|
- lib/flipper/ui/public/css/application.css
|
231
|
-
- lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.eot
|
232
|
-
- lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.svg
|
233
|
-
- lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.ttf
|
234
|
-
- lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff
|
235
|
-
- lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff2
|
236
123
|
- lib/flipper/ui/public/images/logo.png
|
237
|
-
- lib/flipper/ui/public/images/remove.png
|
238
124
|
- lib/flipper/ui/public/js/application.js
|
239
125
|
- lib/flipper/ui/public/octicons/LICENSE.txt
|
240
126
|
- lib/flipper/ui/public/octicons/README.md
|
241
127
|
- lib/flipper/ui/public/octicons/octicons-local.ttf
|
242
128
|
- lib/flipper/ui/public/octicons/octicons.css
|
243
129
|
- lib/flipper/ui/public/octicons/octicons.eot
|
244
|
-
- lib/flipper/ui/public/octicons/octicons.less
|
245
130
|
- lib/flipper/ui/public/octicons/octicons.svg
|
246
131
|
- lib/flipper/ui/public/octicons/octicons.ttf
|
247
132
|
- lib/flipper/ui/public/octicons/octicons.woff
|
248
|
-
- lib/flipper/ui/public/octicons/sprockets-octicons.scss
|
249
133
|
- lib/flipper/ui/util.rb
|
250
134
|
- lib/flipper/ui/views/add_actor.erb
|
251
135
|
- lib/flipper/ui/views/add_feature.erb
|