我想创建 ruby 应用程序(不是 rails)。这是一个控制台应用程序,需要保留一些数据。我使用 pstore 作为数据库。我想将此应用程序部署为 gem。
我的问题是:我的数据在哪里?
目前,我在标准 gem 布局中创建了一个数据目录作为 bin 目录的同级目录。因此,我希望 gem 在部署后将其数据存储在“内部”。但是当我进行本地 gem 安装进行测试时,我发现数据存储在本地项目文件中,而不是 gems 目录中的某个位置。
当然,我可能只是误解了“rake install_gem”在做什么。另外,我隐约担心如果我需要 sudo 来安装 gem,它实际上将能够在 gem 目录中“内部”创建数据文件。
有人可以澄清一下吗?
谢谢你。约翰·尚克
@makevoid - 感谢您的回复。这是我的主要脚本的全部内容。在 /bin 目录中...(我将其添加到主要问题中,因为我不熟悉如何格式化评论中的内容 - 并且粘贴的代码看起来很糟糕。
#!/usr/bin/env ruby
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
require 'timesheet'
begin
command_hash = TimesheetParser.parse
store = YAML::Store.new("data/time_entries.yaml")
tl = TimeLog.new(store)
ts = Timesheet.new(tl)
ts.process(command_hash)
rescue Exception => e
raise if command_hash[:debug]
puts e.message