Class: Baltix::Spec::Rpm::Secondary

Inherits:
Object
  • Object
show all
Includes:
SpecCore
Defined in:
lib/baltix/spec/rpm/secondary.rb

Constant Summary collapse

STATE =
{
   name: {
      seq: %w(of_options of_source of_state of_default _name _local_rename),
      default: "",
   },
   pre_name: {
      seq: %w(of_options of_state of_default _pre_name),
      default: "",
   },
   epoch: {
      seq: %w(of_options of_state),
      default: nil,
   },
   version: {
      seq: %w(of_options of_source of_state of_default _version),
      default: ->(_) { Time.now.strftime("%Y%m%d") },
   },
   release: {
      seq: %w(of_options of_state _release),
      default: "alt1",
   },
   build_arch: {
      seq: %w(of_options of_state of_source),
      default: "noarch",
   },
   summaries: {
      seq: %w(of_options of_state of_source of_default _summaries),
      default: ""
   },
   group: {
      seq: %w(of_options _group),
      default: ->(this) { Baltix::I18n.t("spec.rpm.#{this.kind}.group") },
   },
   requires: {
      seq: %w(of_options of_state of_default _requires_plain_only _requires),
      default: [],
   },
   conflicts: {
      seq: %w(of_options of_state of_default _conflicts_plain_only _conflicts),
      default: [],
   },
   provides: {
      seq: %w(of_options of_state of_default _provides),
      default: [],
   },
   obsoletes: {
      seq: %w(of_options of_state of_default _obsoletes),
      default: [],
   },
   file_list: {
      seq: %w(of_options of_state of_source),
      default: "",
   },
   compilables: {
      seq: %w(of_options of_state of_source),
      default: [],
   },
   descriptions: {
      seq: %w(of_options of_state of_source of_default _proceed_description _descriptions _format_descriptions),
      default: {}
   },
   readme: {
      seq: %w(of_options of_source _readme of_state),
      default: nil,
   },
   executables: {
      seq: %w(of_options of_source of_state),
      default: [],
   },
   docs: {
      seq: %w(of_options _docs of_state),
      default: nil,
   },
   devel: {
      seq: %w(of_options _devel of_state),
      default: nil,
   },
   devel_requires: {
      seq: %w(of_options of_state _devel_requires),
      default: nil,
   },
   devel_conflicts: {
      seq: %w(of_options of_state _devel_conflicts),
      default: nil,
   },
   devel_sources: {
      seq: %w(of_options _devel_sources of_state),
      default: [],
   },
   files: {
      seq: %w(of_options _files of_state),
      default: []
   },
   context: {
      seq: %w(of_options of_state),
      default: {},
   },
   dependencies: {
      seq: %w(of_options of_state of_source),
      default: []
   },
   gem_versionings: {
      seq: %w(of_options of_state _gem_versionings),
      default: []
   },
   available_gem_list: {
      seq: %w(of_options of_state _available_gem_list),
      default: {}
   },
   available_gem_ranges: {
      seq: %w(of_options of_state _available_gem_ranges),
      default: {}
   },
   use_gem_obsolete_list: {
      seq: %w(of_options of_state),
      default: {}.to_os
   },
   rootdir: {
      seq: %w(of_options of_state),
      default: nil
   }
}.to_os(hash: true)

Constants included from SpecCore

Baltix::Spec::Rpm::SpecCore::URL_MATCHER

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SpecCore

#[], #[]=, #evr, #executable_name, included, #of_default, #of_options, #of_source, #of_space, #of_state, #options, #options=, #prefix, #read_attribute, #state, #state=, #summary

Instance Attribute Details

#hostObject (readonly)

Returns the value of attribute host.



2
3
4
# File 'lib/baltix/spec/rpm/secondary.rb', line 2

def host
  @host
end

#sourceObject (readonly)

Returns the value of attribute source.



2
3
4
# File 'lib/baltix/spec/rpm/secondary.rb', line 2

def source
  @source
end

#specObject (readonly)

Returns the value of attribute spec.



2
3
4
# File 'lib/baltix/spec/rpm/secondary.rb', line 2

def spec
  @spec
end

Instance Method Details

#default_state_kindObject



144
145
146
# File 'lib/baltix/spec/rpm/secondary.rb', line 144

def default_state_kind
   "app"
end

#kindObject



148
149
150
# File 'lib/baltix/spec/rpm/secondary.rb', line 148

def kind
   @kind ||= source.is_a?(Baltix::Source::Gem) && :lib || :app
end

#resourced_from(secondary) ⇒ Object



129
130
131
132
133
134
135
# File 'lib/baltix/spec/rpm/secondary.rb', line 129

def resourced_from secondary
   @kind = secondary.kind.to_sym
   @spec = secondary.spec
   @source = secondary.source

   self
end

#state_kindObject



137
138
139
140
141
142
# File 'lib/baltix/spec/rpm/secondary.rb', line 137

def state_kind
   return @state_kind if @state_kind

   # binding.pry
   @state_kind ||= options.source.is_a?(Baltix::Source::Gem) && "lib" || file_list.blank? && "app" || pre_name&.kind
end