【发布时间】:2017-07-25 14:56:54
【问题描述】:
问题背景
-
gem 'leanpirates-aarrr', '~> 0.1.1', :path => "/src/gem-aarrr"运行正常 -
rails g显示生成器lean_pirates:aarrr:install -
config/initializers/leanpirates_aarrr.rb下成功创建初始化器 - 但在尝试配置 gem 时初始化程序失败
初始化器:leanpirates_aarrr.rb
LeanPirates::Aarrr.configure do |config|
config.api_server = "http://localhost:3000"
config.startup_key = Rails.configuration.leanpirates_aarrr.startup_key
config.startup_secret = Rails.application.secrets.leanpirates_startup_secret
end
gem 定义文件:aarrr.rb
# (...)
module LeanPirates
module Aarrr
class << self
attr_writer :configuration
end
def self.configuration
@configuration ||= LeanPirates::Aarrr::Domain::Configuration.new
end
def self.reset
@configuration = LeanPirates::Aarrr::Domain::Configuration.new
end
def self.configure
yield(configuration)
end
end
end
错误
/src/app-ebusiness-v3/config/initializers/leanpirates_aarrr.rb:1:in <top (required)>: undefined method 'configure' for LeanPirates::Aarrr:Module (NoMethodError)
/src/app-ebusiness-v3/config/initializers/leanpirates_aarrr.rb:1:in `<top (required)>': undefined method `configure' for LeanPirates::Aarrr:Module (NoMethodError)
from /home/ubuntu/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:287:in `load'
from /home/ubuntu/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:287:in `block in load'
from /home/ubuntu/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/ubuntu/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:287:in `load'
(...)
这是来自https://github.com/lean-pirates/gem-aarrr/tree/simplification(分支simplification)的开源LeanPirates AARRR
【问题讨论】:
标签: ruby-on-rails ruby configuration rubygems