Sha256: 5ca6236b10162d56d1b24ea06e09751b48907e0fc4c4f6934bd8aed006c72561

Contents?: true

Size: 645 Bytes

Versions: 19

Compression:

Stored size: 645 Bytes

Contents

module ScimRails
  class ScimCount
    include ActiveModel::Model

    attr_accessor \
      :limit,
      :offset,
      :start_index,
      :total

    def limit
      return 100 if @limit.blank?
      validate_numericality(@limit)
      input = @limit.to_i
      raise if input < 1
      input
    end

    def start_index
      return 1 if @start_index.blank?
      validate_numericality(@start_index)
      input = @start_index.to_i
      return 1 if input < 1
      input
    end

    def offset
      start_index - 1
    end

    private

    def validate_numericality(input)
      raise unless input.match?(/\A\d+\z/)
    end

  end
end

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
scimaenaga-0.9.0 app/models/scim_rails/scim_count.rb
scimaenaga-0.8.0 app/models/scim_rails/scim_count.rb
scimaenaga-0.7.0 app/models/scim_rails/scim_count.rb
scimaenaga-0.6.2 app/models/scim_rails/scim_count.rb
scimaenaga-0.6.1 app/models/scim_rails/scim_count.rb
scimaenaga-0.6.0 app/models/scim_rails/scim_count.rb
scimaenaga-0.5.0 app/models/scim_rails/scim_count.rb
scimaenaga-0.4.1 app/models/scim_rails/scim_count.rb
scim_rails-0.4.0 app/models/scim_rails/scim_count.rb
scim_rails-0.3.1 app/models/scim_rails/scim_count.rb
scim_rails-0.3.0 app/models/scim_rails/scim_count.rb
scim_rails-0.2.2 app/models/scim_rails/scim_count.rb
scim_rails-0.2.1 app/models/scim_rails/scim_count.rb
scim_rails-0.2.0 app/models/scim_rails/scim_count.rb
scim_rails-0.1.4 app/models/scim_rails/scim_count.rb
scim_rails-0.1.3 app/models/scim_rails/scim_count.rb
scim_rails-0.1.2 app/models/scim_rails/scim_count.rb
scim_rails-0.1.1 app/models/scim_rails/scim_count.rb
scim_rails-0.1.0 app/models/scim_rails/scim_count.rb