class Changelog::Notifier::Adapters::ActiveRecord

Creates an ActiveRecord with the changelog

Public Instance Methods

configured?() click to toggle source
# File lib/changelog/notifier/adapters/active_record.rb, line 10
def configured?
  @model.to_s.empty? == false
end
publish!(release_note_hash, version) click to toggle source
# File lib/changelog/notifier/adapters/active_record.rb, line 14
def publish!(release_note_hash, version)
  formatted_release_note = format_release_note_hash(release_note_hash)

  create_attributes = {}
  create_attributes[version_field] = version
  create_attributes[release_node_field] = formatted_release_note

  Array(@other_fields).each do |field, value|
    create_attributes[field] = value
  end

  @model.create!(create_attributes)
end

Private Instance Methods

fetches_adapter_configuration() click to toggle source

Fetches all the configuration variables from Capistrano.

# File lib/changelog/notifier/adapters/active_record.rb, line 33
def fetches_adapter_configuration
  @model = @capistrano.fetch(:changelog_notifier_active_record_model)
  @version_field = @capistrano.fetch(
    :changelog_notifier_active_record_version_field
  )
  @release_node_field = @capistrano.fetch(
    :changelog_notifier_active_record_release_node_field
  )
  @other_fields = @capistrano.fetch(
    :changelog_notifier_active_record_other_fields
  )
end
format_release_note_hash(release_note_hash) click to toggle source
# File lib/changelog/notifier/adapters/active_record.rb, line 46
def format_release_note_hash(release_note_hash)
  Changelog::Notifier::Formatters::ActiveRecord.new(release_note_hash)
                                               .format
end
release_node_field() click to toggle source
# File lib/changelog/notifier/adapters/active_record.rb, line 51
def release_node_field
  @release_node_field || 'release_node'
end
version_field() click to toggle source
# File lib/changelog/notifier/adapters/active_record.rb, line 55
def version_field
  @version_field || 'version'
end