Get all object values, even nested ones
Deep access to nested object values
Simple object notation to get and set nested object values.
Effortlessly store large nested object values in files with automatic retrieval and reference handling.
A utility function that allows you to change nested object values without spreading them out.
Check if sub branch of an object exists. A cleaner code for checking deep nested object values.
Deep diffs two objects, including nested structures of arrays and objects, and return the difference.
Use nested calc() expressions in CSS
PostCSS plugin to unwrap nested rules like how Sass does it
Proper decorator-based transformation / serialization / deserialization of plain javascript objects to class constructors
A fast alternative to legacy querystring module
No description provided.
Generate hashes from javascript objects in node and the browser.
Stringify an object sorting scalars before objects, and defaulting to 2-space indent
Take a nested Javascript object and flatten it, or unflatten an object with delimited keys
Read, write or test a data structure's nested property via a string like 'my.nested.property'. It works through arrays and objects.'
OData v4 query builder that uses a simple object-based syntax similar to MongoDB and js-data
Polyfill of future proposal for `util.parseArgs()`
string-argv parses a string into an argument array to mimic process.argv. This is useful when testing Command Line Utilities that you want to pass arguments to.
Package to support nested merging of objects & properties, using Object.Assign
Strongly-typed deep and recursive object merging. Considers all nested levels of objects, arrays, sets and maps.
JavaScript utilities for Vega.
Modify the values of an object
Underscore mixins for deeply nested objects
Proforma comes with basic object value resolution and no text templating. This library fills these necessities that any reasonably robust document rendering framework should have.
A library that includes a module that can print mismatched values for any class that includes it. Supports recursive inspection of nested objects.
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.
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 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.
Value containers supporting nested dot.notation access over hashes, and utilities offering dependency injection/lookup, and language extensions support running in a non-rails environment. Plus, examples of null objects, class customization, and concurrent processing. Review the RSpec tests, and or review the README for more details.
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.
Ruby utility for constructing HTML class strings conditionally with the provided syntax, you can define a module named Clsx that includes a method to handle each case: strings, objects (hashes), arrays, and a combination of these with nested structures. This method will recursively process each argument, filter out falsy values, and concatenate the truthy values into a single string.
A simple Ruby gem adding OpenStruct::parse_json and OpenStruct::parse_hash methods and reverse OpenStruct#to_hash and OpenStruct#to_json methods to (obviously) OpenStruct. It is able to parse and reconstruct nested json and hash objects as well. There is also a OpenStruct#join method adding possibility to replace values in the hash tree with the values passed as a hash in parameter (supporting accepts_nested_attributes_for format) and return it as a new hash.
DotKey provides an elegant way to read, write, and manipulate deeply nested Hashes and Arrays using dot-delimited strings. It supports wildcards for pattern matching, custom delimiters, and flexible handling of missing values - making it ideal for working with complex data structures, configuration objects, and API responses.
The DynamicSchema gem provides a elegant and expressive way to define a domain-specific language (DSL) schemas, making it effortless to build and validate complex Ruby hashes. This is particularly useful when dealing with intricate configurations or interfacing with external APIs, where data structures need to adhere to specific formats and validations. By allowing default values, type constraints, nested schemas, and transformations, DynamicSchema ensures that your data structures are both robust and flexible. New in 2.0, DynamicSchema adds DynamicSchema::Struct which faciliates effortless definition and construction of complex object hierarchies, with optional type coersion and validation. Where DynamicSchema simplified configuration and API payload construction, DynamicSchema::Struct simplifies construction of complex API reponses.
Implement orderable trees in ActiveRecord using the nested set model, with multiple roots and scoping, and most importantly user-defined ordering of subtrees. Fetches preordered trees in one go, updates are write-heavy. This is a substantially butchered-up version/offspring of acts_as_threaded. The main additional perk is the ability to reorder nodes, which are always fetched ordered. Example: root = Folder.create! :name => "Main folder" subfolder_1 = Folder.create! :name => "Subfolder", :parent_id => root.id subfolder_2 = Folder.create! :name => "Another subfolder", :parent_id => root.id subfolder_2.move_to_top # just like acts_as_list but nestedly awesome root.all_children # => [subfolder_2, subfolder_1] See the rdocs for examples the method names. It also inherits the awesome properties of acts_as_threaded, namely materialized depth, root_id and parent_id values on each object which are updated when nodes get moved. Thanks to the authors of acts_as_threaded, awesome_nested_set, better_nested_set and all the others for inspiration.
Implement orderable trees in ActiveRecord using the nested set model, with multiple roots and scoping, and most importantly user-defined ordering of subtrees. Fetches preordered trees in one go, updates are write-heavy. This is a substantially butchered-up version/offspring of acts_as_threaded. The main additional perk is the ability to reorder nodes, which are always fetched ordered. Example: root = Folder.create! :name => "Main folder" subfolder_1 = Folder.create! :name => "Subfolder", :parent_id => root.id subfolder_2 = Folder.create! :name => "Another subfolder", :parent_id => root.id subfolder_2.move_to_top # just like acts_as_list but nestedly awesome root.all_children # => [subfolder_2, subfolder_1] See the rdocs for examples the method names. It also inherits the awesome properties of acts_as_threaded, namely materialized depth, root_id and parent_id values on each object which are updated when nodes get moved. Thanks to the authors of acts_as_threaded, awesome_nested_set, better_nested_set and all the others for inspiration.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.