Sha256: 677293649cf582a888096ed081be9392646324f2345e414698e894f6c172b563

Contents?: true

Size: 936 Bytes

Versions: 9

Compression:

Stored size: 936 Bytes

Contents

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

module Flipper
  module UI
    module Actions
      class Features < UI::Action

        route %r{features/?\Z}

        def get
          @page_title = "Features"
          @features = flipper.features.map { |feature|
            Decorators::Feature.new(feature)
          }.sort

          @show_blank_slate = @features.empty?

          breadcrumb "Home", "/"
          breadcrumb "Features"

          view_response :features
        end

        def post
          value = params["value"]

          if Util.blank?(value)
            error = Rack::Utils.escape("#{value.inspect} is not a valid feature name.")
            redirect_to("/features/new?error=#{error}")
          end

          flipper.adapter.add(flipper[value])

          redirect_to "/features/#{Rack::Utils.escape_path(value)}"
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
flipper-ui-0.7.5 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.4 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.3 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.2 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.1 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.0 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.0.beta6 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.0.beta5 lib/flipper/ui/actions/features.rb
flipper-ui-0.7.0.beta4 lib/flipper/ui/actions/features.rb