Class: Clemency::Release

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/clemency/release.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRelease

Returns a new instance of Release.



12
13
14
15
16
# File 'lib/clemency/release.rb', line 12

def initialize
  @config = {}
  @changelog = Changelog.new
  @callbacks = Callbacks.new
end

Instance Attribute Details

#callbacksObject (readonly)

Returns the value of attribute callbacks.



10
11
12
# File 'lib/clemency/release.rb', line 10

def callbacks
  @callbacks
end

Instance Method Details

#changelog(&blk) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/clemency/release.rb', line 26

def changelog(&blk)
  if block_given?
    @changelog.instance_eval(&blk)
  else
    @changelog
  end
end

#down(&blk) ⇒ Object



38
39
40
# File 'lib/clemency/release.rb', line 38

def down(&blk)
  @callbacks.set(:down, blk)
end

#get(key, default = nil) ⇒ Object



22
23
24
# File 'lib/clemency/release.rb', line 22

def get(key, default = nil)
  @config.fetch(key, default)
end

#set(key, value) ⇒ Object



18
19
20
# File 'lib/clemency/release.rb', line 18

def set(key, value)
  @config[key] = value
end

#to_markdownObject



42
43
44
45
46
47
# File 'lib/clemency/release.rb', line 42

def to_markdown
  %Q(##[#{get(:version)}] - #{Time.now.strftime("%D")}

#{@changelog.to_markdown}
  )
end

#up(&blk) ⇒ Object



34
35
36
# File 'lib/clemency/release.rb', line 34

def up(&blk)
  @callbacks.set(:up, blk)
end