This is called a domain language.
, , DSL, " , ". , . , .
group :development, :test do
gem 'rspec-rails', '~> 2.0'
end
group :development, :test gem 'rspec-rails', '~> 2.0'. DSL Bundler:
def group(*args, &blk)
...
end
.
DSL , , RSpec.
.describe :
def describe(doc_string, *metadata_keys, metadata = {}, &example_implementation)
...
end
Ruby thinkbot.com