Class: StrongVersions::Suggestion

Inherits:
Object
  • Object
show all
Defined in:
lib/strong_versions/suggestion.rb

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ Suggestion



5
6
7
8
9
10
11
# File 'lib/strong_versions/suggestion.rb', line 5

def initialize(version)
  return if version.nil?

  @parts = version.split('.')
  # Treat '4.3.2.1' as '4.3.2'
  @parts.pop if standard?(@parts.first(3)) && @parts.size == 4
end

Instance Method Details

#missing?Boolean



29
30
31
32
33
34
# File 'lib/strong_versions/suggestion.rb', line 29

def missing?
  return false if stable?
  return false if unstable?

  true
end

#to_sObject



13
14
15
16
17
# File 'lib/strong_versions/suggestion.rb', line 13

def to_s
  return version.to_s if version.nil?

  "'~> #{version}'"
end

#versionObject



19
20
21
22
23
24
25
26
27
# File 'lib/strong_versions/suggestion.rb', line 19

def version
  return nil unless standard?

  major, minor, patch = @parts
  return "#{major}.#{minor}" if stable?
  return "#{major}.#{minor}.#{patch}" if unstable?

  raise 'Unexpected condition met'
end