Module: IDeleteMyTweets::Version

Defined in:
lib/i_delete_my_tweets/version.rb

Class Method Summary collapse

Class Method Details

.majorInteger

Returns:

  • (Integer)


19
20
21
# File 'lib/i_delete_my_tweets/version.rb', line 19

def major
  parsed_version.major
end

.minorInteger

Returns:

  • (Integer)


24
25
26
# File 'lib/i_delete_my_tweets/version.rb', line 24

def minor
  parsed_version.minor
end

.parsed_versionObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/i_delete_my_tweets/version.rb', line 7

def parsed_version
  @parsed_version ||= begin
    hash = YAML.load_file('.semver')
    Struct.new(:major, :minor,
               :patch, :special,
               :metadata, :prerelease, keyword_init: true).new(major: hash[:major], minor: hash[:minor],
                                                               patch: hash[:patch], special: hash[:special],
                                                               metadata: hash[:metadata], prerelease: hash[:prerelease])
  end
end

.patchInteger

Returns:

  • (Integer)


29
30
31
# File 'lib/i_delete_my_tweets/version.rb', line 29

def patch
  parsed_version.patch
end

.preInteger, NilClass

Returns:

  • (Integer, NilClass)


34
35
36
# File 'lib/i_delete_my_tweets/version.rb', line 34

def pre
  parsed_version.prerelease && parsed_version.prerelease.empty? ? nil : parsed_version.prerelease
end

.to_aArray

Returns:

  • (Array)


49
50
51
# File 'lib/i_delete_my_tweets/version.rb', line 49

def to_a
  [major, minor, patch, pre].compact
end

.to_hHash

Returns:

  • (Hash)


39
40
41
42
43
44
45
46
# File 'lib/i_delete_my_tweets/version.rb', line 39

def to_h
  {
    major: major,
    minor: minor,
    patch: patch,
    pre: pre,
  }
end

.to_sString

Returns:

  • (String)


54
55
56
# File 'lib/i_delete_my_tweets/version.rb', line 54

def to_s
  to_a.join('.')
end