Sha256: b53fb5680974b6823b529ea5c7992258198ef8b410cc0288e5f2a2fb0d493a0f

Contents?: true

Size: 1.23 KB

Versions: 13

Compression:

Stored size: 1.23 KB

Contents

require 'flipper/ui/action'
require 'flipper/ui/decorators/feature'

module Flipper
  module UI
    module Actions
      class Feature < UI::Action
        include FeatureNameFromRoute

        route %r{\A/features/(?<feature_name>.*)\Z}

        def get
          flipper_feature = flipper[feature_name]
          @feature = Decorators::Feature.new(flipper_feature)
          descriptions = Flipper::UI.configuration.descriptions_source.call([flipper_feature.key])
          @feature.description = descriptions[@feature.key]
          @page_title = "#{@feature.key} // Features"
          @percentages = [0, 1, 5, 10, 25, 50, 100]

          breadcrumb 'Home', '/'
          breadcrumb 'Features', '/features'
          breadcrumb @feature.key

          view_response :feature
        end

        def delete
          read_only if Flipper::UI.configuration.read_only

          unless Flipper::UI.configuration.feature_removal_enabled
            status 403

            breadcrumb 'Home', '/'
            breadcrumb 'Features', '/features'

            halt view_response(:feature_removal_disabled)
          end

          feature = flipper[feature_name]
          feature.remove
          redirect_to '/features'
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
flipper-ui-1.0.0 lib/flipper/ui/actions/feature.rb
flipper-ui-1.0.0.pre lib/flipper/ui/actions/feature.rb
flipper-ui-0.28.3 lib/flipper/ui/actions/feature.rb
flipper-ui-0.28.2 lib/flipper/ui/actions/feature.rb
flipper-ui-0.28.1 lib/flipper/ui/actions/feature.rb
flipper-ui-0.28.0 lib/flipper/ui/actions/feature.rb
flipper-ui-0.27.1 lib/flipper/ui/actions/feature.rb
flipper-ui-0.27.0 lib/flipper/ui/actions/feature.rb
flipper-ui-0.26.2 lib/flipper/ui/actions/feature.rb
flipper-ui-0.26.0 lib/flipper/ui/actions/feature.rb
flipper-ui-0.26.0.rc2 lib/flipper/ui/actions/feature.rb
flipper-ui-0.26.0.rc1 lib/flipper/ui/actions/feature.rb
flipper-ui-0.25.4 lib/flipper/ui/actions/feature.rb