Class: SemverDialects::IntervalSet

Inherits:
Object
  • Object
show all
Defined in:
lib/semver_dialects/interval_set.rb

Overview

rubocop:todo Style/Documentation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIntervalSet

Returns a new instance of IntervalSet.



10
11
12
# File 'lib/semver_dialects/interval_set.rb', line 10

def initialize
  @intervals = []
end

Instance Attribute Details

#intervalsObject (readonly)

Returns the value of attribute intervals.



8
9
10
# File 'lib/semver_dialects/interval_set.rb', line 8

def intervals
  @intervals
end

Instance Method Details

#<<(item) ⇒ Object



18
19
20
# File 'lib/semver_dialects/interval_set.rb', line 18

def <<(item)
  add(item)
end

#add(interval) ⇒ Object



14
15
16
# File 'lib/semver_dialects/interval_set.rb', line 14

def add(interval)
  @intervals << interval
end

#any?Boolean

Returns:

  • (Boolean)


120
121
122
# File 'lib/semver_dialects/interval_set.rb', line 120

def any?
  @intervals.any?
end

#empty?Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/semver_dialects/interval_set.rb', line 116

def empty?
  @intervals.empty?
end

#firstObject



112
113
114
# File 'lib/semver_dialects/interval_set.rb', line 112

def first
  @intervals.first
end

#includes?(other) ⇒ Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/semver_dialects/interval_set.rb', line 101

def includes?(other)
  @intervals.include?(other)
end

#overlaps_with?(other) ⇒ Boolean

Returns:

  • (Boolean)


105
106
107
108
109
110
# File 'lib/semver_dialects/interval_set.rb', line 105

def overlaps_with?(other)
  @intervals.each do |interval|
    return true unless interval.intersect(other).instance_of?(EmptyInterval)
  end
  false
end

#sizeObject



22
23
24
# File 'lib/semver_dialects/interval_set.rb', line 22

def size
  @intervals.size
end

#to_cargo_sObject



66
67
68
# File 'lib/semver_dialects/interval_set.rb', line 66

def to_cargo_s
  to_npm_s
end

#to_conan_sObject



38
39
40
# File 'lib/semver_dialects/interval_set.rb', line 38

def to_conan_s
  to_npm_s
end

#to_description_sObject



30
31
32
# File 'lib/semver_dialects/interval_set.rb', line 30

def to_description_s
  @intervals.map(&:to_description_s).join(', ').capitalize
end

#to_gem_sObject



50
51
52
# File 'lib/semver_dialects/interval_set.rb', line 50

def to_gem_s
  @intervals.map(&:to_gem_s).join('||')
end

#to_go_sObject



58
59
60
# File 'lib/semver_dialects/interval_set.rb', line 58

def to_go_s
  @intervals.map(&:to_go_s).join('||')
end

#to_maven_sObject



46
47
48
# File 'lib/semver_dialects/interval_set.rb', line 46

def to_maven_s
  @intervals.map(&:to_maven_s).join(',')
end

#to_npm_sObject



34
35
36
# File 'lib/semver_dialects/interval_set.rb', line 34

def to_npm_s
  @intervals.map(&:to_npm_s).join('||')
end

#to_nuget_sObject



42
43
44
# File 'lib/semver_dialects/interval_set.rb', line 42

def to_nuget_s
  to_maven_s
end

#to_packagist_sObject



62
63
64
# File 'lib/semver_dialects/interval_set.rb', line 62

def to_packagist_s
  @intervals.map(&:to_packagist_s).join('||')
end

#to_pub_sObject



74
75
76
# File 'lib/semver_dialects/interval_set.rb', line 74

def to_pub_s
  to_npm_s
end

#to_pypi_sObject



54
55
56
# File 'lib/semver_dialects/interval_set.rb', line 54

def to_pypi_s
  @intervals.map(&:to_pypi_s).join('||')
end

#to_sObject



26
27
28
# File 'lib/semver_dialects/interval_set.rb', line 26

def to_s
  @intervals.map(&:to_s).join(',')
end

#to_swift_sObject



70
71
72
# File 'lib/semver_dialects/interval_set.rb', line 70

def to_swift_s
  to_npm_s
end

#to_version_s(package_type) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/semver_dialects/interval_set.rb', line 78

def to_version_s(package_type)
  case package_type
  when 'npm'
    to_npm_s
  when 'nuget'
    to_nuget_s
  when 'maven'
    to_maven_s
  when 'gem'
    to_gem_s
  when 'pypi'
    to_pypi_s
  when 'packagist'
    to_packagist_s
  when 'go'
    to_go_s
  when 'conan'
    to_conan_s
  else
    ''
  end
end

#universal?Boolean

Returns:

  • (Boolean)


124
125
126
127
128
129
# File 'lib/semver_dialects/interval_set.rb', line 124

def universal?
  @intervals.each do |interval|
    return true if interval.universal?
  end
  false
end