Sha256: 7266dda1bc5a8c3ff4507aae7dbb1a94ef8b7ccf1565081da9a7be98c185543b

Contents?: true

Size: 703 Bytes

Versions: 5

Compression:

Stored size: 703 Bytes

Contents

module Swoop
  class Entity
    attr_reader :name, :language, :type

    def initialize(name, language, type)
      @name = name
      @language = language
      @type = type
    end

    def swift?
      language == "swift"
    end

    def objc?
      language == "objc"
    end

    def class?
      type == "class"
    end

    def struct?
      type == "struct"
    end

    def extension?
      type == "extension" || type == "category"
    end

    def to_s
      "#{language} - #{name} : #{type}"
    end

    def ==(other)
      name == other.name && language == other.language && type == other.type
    end
    alias :eql? :==

    def hash
      [name, language, type].hash
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
swoop_report-0.3.1 lib/swoop/entity.rb
swoop_report-0.3 lib/swoop/entity.rb
swoop_report-0.2.2 lib/swoop/entity.rb
swoop_report-0.2.1 lib/swoop/entity.rb
swoop_report-0.2.0 lib/swoop/entity.rb