Sha256: da85207e87ef920974b701a84dd7312793c46da86bfe741c2b6c8b0e4e42a8a2

Contents?: true

Size: 653 Bytes

Versions: 75

Compression:

Stored size: 653 Bytes

Contents

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

    class << self
      def name
        return gemspec.name if gemspec.present?

        self.to_s.split("::").first
      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
        return if engine.blank?

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

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

Version data entries

75 entries across 75 versions & 1 rubygems

Version Path
avo-3.12.0 lib/avo/plugin.rb
avo-3.11.10 lib/avo/plugin.rb
avo-3.11.9 lib/avo/plugin.rb
avo-3.11.8 lib/avo/plugin.rb
avo-3.11.7 lib/avo/plugin.rb
avo-3.11.6 lib/avo/plugin.rb
avo-3.11.5 lib/avo/plugin.rb
avo-3.11.4 lib/avo/plugin.rb
avo-3.11.3 lib/avo/plugin.rb
avo-3.11.2 lib/avo/plugin.rb
avo-3.11.1 lib/avo/plugin.rb
avo-3.11.0 lib/avo/plugin.rb
avo-3.10.10 lib/avo/plugin.rb
avo-3.10.9 lib/avo/plugin.rb
avo-3.10.8 lib/avo/plugin.rb
avo-3.10.7 lib/avo/plugin.rb
avo-3.10.6 lib/avo/plugin.rb
avo-3.10.5 lib/avo/plugin.rb
avo-3.10.4 lib/avo/plugin.rb
avo-3.10.3 lib/avo/plugin.rb