File rubygem-loquacious.spec of Package rubygem-loquacious
#
# spec file for package rubygem-loquacious
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: rubygem-loquacious
Version: 1.9.1
Release: 0
%define mod_name loquacious
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ruby-macros >= 5
BuildRequires: %{ruby}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: %{rubygem rdoc > 3.10}
Url: http://rubygems.org/gems/loquacious
Source: http://rubygems.org/gems/%{mod_full_name}.gem
Summary: Descriptive configuration files for Ruby written in Ruby
License: GPLv2+ or Ruby
Group: Development/Languages/Ruby
%description
Descriptive configuration files for Ruby written in Ruby.
Loquacious provides a very open configuration system written in ruby and
descriptions for each configuration attribute. The attributes and descriptions
can be iterated over allowing for helpful information about those attributes
to
be displayed to the user.
In the simple case we have a file something like
Loquacious.configuration_for('app') {
name 'value', :desc => "Defines the name"
foo 'bar', :desc => "FooBar"
id 42, :desc => "Ara T. Howard"
}
Which can be loaded via the standard Ruby loading mechanisms
Kernel.load 'config/app.rb'
The attributes and their descriptions can be printed by using a Help object
help = Loquacious.help_for('app')
help.show :values => true # show the values for the attributes, too
Descriptions are optional, and configurations can be nested arbitrarily deep.
Loquacious.configuration_for('nested') {
desc "The outermost level"
a {
desc "One more level in"
b {
desc "Finally, a real value"
c 'value'
}
}
}
config = Loquacious.configuration_for('nested')
p config.a.b.c #=> "value"
And as you can see, descriptions can either be given inline after the value or
they can appear above the attribute and value on their own line.
%prep
%build
%install
%gem_install \
--doc-files="History.txt README.rdoc" \
-f
%gem_packages
%changelog