Skip to content

Commit

Permalink
Improve code following Rubocop's suggestions
Browse files Browse the repository at this point in the history
  • Loading branch information
lucascaton committed Aug 24, 2016
1 parent 387a444 commit 339d807
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 29 deletions.
54 changes: 28 additions & 26 deletions lib/enumerate_it/base.rb
Expand Up @@ -82,41 +82,43 @@ def self.to_range
(list.min..list.max)
end

private
class << self
def translate(value)
return value unless value.is_a? Symbol

def self.sorted_map
return enumeration if sort_mode == :none
default = value.to_s.gsub(/_/, ' ').split.map(&:capitalize).join(' ')
I18n.t("enumerations.#{self.name.underscore}.#{value.to_s.underscore}", default: default)
end

enumeration.sort_by { |k, v| sort_lambda.call(k, v) }
end
private

def self.sort_lambda
{
value: lambda { |_k, v| v[0] },
name: lambda { |k, _v| k },
translation: lambda { |_k, v| translate(v[1]) }
}[sort_mode || :translation]
end
def sorted_map
return enumeration if sort_mode == :none

def self.translate(value)
return value unless value.is_a? Symbol
enumeration.sort_by { |k, v| sort_lambda.call(k, v) }
end

default = value.to_s.gsub(/_/, ' ').split.map(&:capitalize).join(' ')
I18n.t("enumerations.#{self.name.underscore}.#{value.to_s.underscore}", default: default)
end
def sort_lambda
{
value: lambda { |_k, v| v[0] },
name: lambda { |k, _v| k },
translation: lambda { |_k, v| translate(v[1]) }
}[sort_mode || :translation]
end

def self.normalize_enumeration(values_hash)
values_hash.each_pair do |key, value|
values_hash[key] = [value, key] unless value.is_a? Array
def normalize_enumeration(values_hash)
values_hash.each_pair do |key, value|
values_hash[key] = [value, key] unless value.is_a? Array
end
end
end

def self.register_enumeration(values_hash)
@@registered_enumerations[self] = values_hash
end
def register_enumeration(values_hash)
@@registered_enumerations[self] = values_hash
end

def self.define_enumeration_constant(name, value)
const_set name.to_s.gsub(/-/, '_').upcase, value
def define_enumeration_constant(name, value)
const_set name.to_s.gsub(/-/, '_').upcase, value
end
end
end
end
6 changes: 3 additions & 3 deletions spec/enumerate_it/base_spec.rb
Expand Up @@ -49,7 +49,7 @@
it { should eq(%w(1 2 3 0)) }
end
end
end
end

it "creates a method that returns the enumeration specification" do
expect(TestEnumeration.enumeration).to eq(
Expand Down Expand Up @@ -234,8 +234,8 @@ class ActiveRecordStub
attr_accessor :bla

class << self
def validates_inclusion_of(options); true; end
def validates_presence_of; true; end
def validates_inclusion_of(_); true; end
def validates_presence_of; true; end
end
end

Expand Down

0 comments on commit 339d807

Please sign in to comment.