Sha256: 22d92db384e447ea7efe8e2768a830bd2351e623493b4112dfd513fbf3c702d2

Contents?: true

Size: 545 Bytes

Versions: 4

Compression:

Stored size: 545 Bytes

Contents

module Kaminari
  module Logarithmic
    class SeqBuilder
      DEFAULT_STRATEGY = :even

      def initialize(start, finish, options = {})
        @options = options
        build_strategy(start, finish)
      end

      def build
        @strategy.build
      end

      private

      def build_strategy(start, finish)
        code = @options[:strategy] || DEFAULT_STRATEGY
        klass = "Kaminari::Logarithmic::Strategies::#{code.to_s.camelize}Strategy".constantize
        @strategy = klass.new(start, finish)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kaminari-logarithmic-0.0.4 lib/kaminari/logarithmic/seq_builder.rb
kaminari-logarithmic-0.0.3 lib/kaminari/logarithmic/seq_builder.rb
kaminari-logarithmic-0.0.2 lib/kaminari/logarithmic/seq_builder.rb
kaminari-logarithmic-0.0.1 lib/kaminari/logarithmic/seq_builder.rb