Class: Crease::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/crease/builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(before: nil, subject: nil, after: nil, args: [], percent: false, tense: nil) ⇒ Builder

Returns a new instance of Builder.



4
5
6
7
8
9
10
11
12
13
# File 'lib/crease/builder.rb', line 4

def initialize(before: nil, subject: nil, after: nil, args: [], percent: false, tense: nil)
  @before  = before
  @subject = subject
  @after   = after
  @args    = args
  @percent = percent
  @tense   = tense

  self
end

Instance Method Details

#by(*args, sigfig: 2) ⇒ Object



27
28
29
30
31
32
# File 'lib/crease/builder.rb', line 27

def by(*args, sigfig: 2)
  @after  = :by
  @args   = args.map(&:to_f)
  @sigfig = sigfig
  self
end

#changeObject



22
23
24
25
# File 'lib/crease/builder.rb', line 22

def change
  @subject = :change
  self
end

#increaseObject Also known as: decrease



15
16
17
18
# File 'lib/crease/builder.rb', line 15

def increase
  @tense = :present
  self
end

#of(*args, sigfig: 2) ⇒ Object



34
35
36
37
38
39
# File 'lib/crease/builder.rb', line 34

def of(*args, sigfig: 2)
  @after  = :of
  @args   = args.map(&:to_f)
  @sigfig = sigfig
  self
end

#percentObject



49
50
51
52
# File 'lib/crease/builder.rb', line 49

def percent
  @percent = true
  self
end

#to_sObject



41
42
43
44
45
46
47
# File 'lib/crease/builder.rb', line 41

def to_s
  if @percent
    "#{phrase} #{percent_value}%"
  else
    "#{phrase} #{value}"
  end
end