Sha256: bb2e909a789e7d9a3d7d67b41f0e6ce285efc3a5dbdcd7a94e7bd411d29340af

Contents?: true

Size: 556 Bytes

Versions: 1

Compression:

Stored size: 556 Bytes

Contents

module Avo
  class Plugin
    def initialize(*, **, &block)
    end

    class << self
      def name
        gemspec.name
      end

      def version
        "#{namespace}::VERSION".safe_constantize
      end

      def engine
        "#{namespace}::Engine".safe_constantize
      end

      def namespace
        modules = to_s.split("::")
        modules.pop
        modules.join("::")
      end

      def gemspec
        gemspec_path = Dir["#{engine.root}/*.gemspec"].first

        Gem::Specification::load(gemspec_path)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
avo-3.0.1.beta24 lib/avo/plugin.rb