No description, website, or topics provided.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
spec
.gitignore
.rspec
.rubocop.yml
.travis.yml
Gemfile
LICENSE.txt
README.md
Rakefile
self_data.gemspec

README.md

SelfData · Gem Version Build Status Coverage Status

It's like native ruby DATA but you can use it not only for main file.

Installation

# Gemfile
gem 'self_data'
$ bundle install
-- or --
$ gem install self_data
require 'self_data'

Synopsis

# main.rb

require 'self_data'
require './a.rb'

puts "DATA: #{A.native_data}"
puts "SelfData: #{A.self_data}"

__END__
main.rb data
# a.rb

module A
  module_function

  def native_data
    DATA.read
  end

  def self_data
    SelfData.read
  end
end

__END__
a.rb data

and if you execute it, you'll get:

$ ruby main.rb
DATA: main.rb data
SelfData: a.rb data

Usage and Notes

Use SelfData.read() to get text or use SelfData.load(*formats, **options) to get formatted data (like yaml, xml, erb, etc).

Look at the lib/self_data/config.rb for more details.

SelfData uses caller, it's not fast, that's why you shouldn't use SelfData in loops.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/umbrellio/self_data.

License

Released under MIT License.

Authors

Created by 7dr1v3

Supported by Umbrellio