Module: Tins

Defined in:
lib/tins.rb,
lib/tins/annotate.rb,
lib/tins/ask_and_send.rb,
lib/tins/attempt.rb,
lib/tins/bijection.rb,
lib/tins/case_predicate.rb,
lib/tins/complete.rb,
lib/tins/concern.rb,
lib/tins/date_dummy.rb,
lib/tins/date_time_dummy.rb,
lib/tins/deep_dup.rb,
lib/tins/deprecate.rb,
lib/tins/dslkit.rb,
lib/tins/duration.rb,
lib/tins/expose.rb,
lib/tins/extract_last_argument_options.rb,
lib/tins/file_binary.rb,
lib/tins/find.rb,
lib/tins/generator.rb,
lib/tins/go.rb,
lib/tins/hash_bfs.rb,
lib/tins/hash_symbolize_keys_recursive.rb,
lib/tins/hash_union.rb,
lib/tins/if_predicate.rb,
lib/tins/implement.rb,
lib/tins/limited.rb,
lib/tins/lines_file.rb,
lib/tins/lru_cache.rb,
lib/tins/memoize.rb,
lib/tins/method_description.rb,
lib/tins/minimize.rb,
lib/tins/module_group.rb,
lib/tins/named_set.rb,
lib/tins/null.rb,
lib/tins/once.rb,
lib/tins/p.rb,
lib/tins/partial_application.rb,
lib/tins/proc_compose.rb,
lib/tins/proc_prelude.rb,
lib/tins/range_plus.rb,
lib/tins/require_maybe.rb,
lib/tins/responding.rb,
lib/tins/secure_write.rb,
lib/tins/sexy_singleton.rb,
lib/tins/string_byte_order_mark.rb,
lib/tins/string_camelize.rb,
lib/tins/string_named_placeholders.rb,
lib/tins/string_underscore.rb,
lib/tins/string_version.rb,
lib/tins/subhash.rb,
lib/tins/temp_io.rb,
lib/tins/temp_io_enum.rb,
lib/tins/terminal.rb,
lib/tins/thread_local.rb,
lib/tins/time_dummy.rb,
lib/tins/to.rb,
lib/tins/to_proc.rb,
lib/tins/token.rb,
lib/tins/unit.rb,
lib/tins/version.rb,
lib/tins/write.rb,
lib/tins/xt.rb,
lib/tins/xt/ask_and_send.rb,
lib/tins/xt/attempt.rb,
lib/tins/xt/blank.rb,
lib/tins/xt/case_predicate.rb,
lib/tins/xt/complete.rb,
lib/tins/xt/concern.rb,
lib/tins/xt/date_dummy.rb,
lib/tins/xt/date_time_dummy.rb,
lib/tins/xt/deep_dup.rb,
lib/tins/xt/dslkit.rb,
lib/tins/xt/extract_last_argument_options.rb,
lib/tins/xt/file_binary.rb,
lib/tins/xt/full.rb,
lib/tins/xt/hash_bfs.rb,
lib/tins/xt/hash_symbolize_keys_recursive.rb,
lib/tins/xt/hash_union.rb,
lib/tins/xt/if_predicate.rb,
lib/tins/xt/irb.rb,
lib/tins/xt/method_description.rb,
lib/tins/xt/minimize.rb,
lib/tins/xt/named.rb,
lib/tins/xt/null.rb,
lib/tins/xt/p.rb,
lib/tins/xt/partial_application.rb,
lib/tins/xt/proc_compose.rb,
lib/tins/xt/proc_prelude.rb,
lib/tins/xt/range_plus.rb,
lib/tins/xt/require_maybe.rb,
lib/tins/xt/responding.rb,
lib/tins/xt/secure_write.rb,
lib/tins/xt/sexy_singleton.rb,
lib/tins/xt/string.rb,
lib/tins/xt/string_byte_order_mark.rb,
lib/tins/xt/string_camelize.rb,
lib/tins/xt/string_named_placeholders.rb,
lib/tins/xt/string_underscore.rb,
lib/tins/xt/string_version.rb,
lib/tins/xt/subhash.rb,
lib/tins/xt/time_dummy.rb,
lib/tins/xt/time_freezer.rb,
lib/tins/xt/to.rb,
lib/tins/xt/write.rb

Overview

Provides interactive debugging capabilities through the IRB console.

This module adds an ‘examine` method to all objects, allowing developers to quickly drop into an interactive IRB session with the current binding or examine specific objects. It’s particularly useful for debugging and exploring data structures during development.

Examples:

Basic usage

# Drop into IRB with current context
examine

Examine a specific object

data = [1, 2, 3]
examine data  # Inspects just the 'data' variable

Use from within methods

def process_data
  result = expensive_operation
  examine result  # Debug the result immediately
end

Defined Under Namespace

Modules: Annotate, AskAndSend, Attempt, Blank, BlankSlate, BlockSelf, CasePredicate, ClassMethod, Complete, Concern, Constant, ConstantMaker, DSLAccessor, DateDummy, DateTimeDummy, DeepDup, Deflect, Delegate, Deprecate, DynamicScope, Eigenclass, Expose, ExtractLastArgumentOptions, FileBinary, Find, FromModule, Full, GO, HashBFS, HashSymbolizeKeysRecursive, HashUnion, IfPredicate, Implement, Interpreter, Memoize, MethodDescription, MethodMissingDelegator, Minimize, ModuleGroup, Null, Once, P, ParameterizedModule, PartialApplication, ProcCompose, ProcPrelude, RangePlus, RequireMaybe, Responding, Scope, SecureWrite, StringByteOrderMark, StringCamelize, StringNamedPlaceholders, StringUnderscore, StringVersion, Subhash, SymbolMaker, TempIO, Terminal, ThreadGlobal, ThreadLocal, TimeDummy, TimeFreezer, To, ToProc, Unit, Write Classes: Bijection, Duration, Generator, LRUCache, Limited, LinesFile, NamedSet, NullClass, NullPlus, Token

Constant Summary collapse

NULL =

The singleton null object instance.

NullClass.new
SexySingleton =

Enhanced singleton implementation that forwards method calls to the instance.

This module provides a “sexy” singleton implementation that extends the standard Ruby singleton pattern by making the singleton class itself respond to methods defined on the instance. This allows for more intuitive usage where you can call singleton methods directly on the class without needing to access the instance explicitly.

Examples:

Basic usage

class MySingleton
  include Tins::SexySingleton

  def hello
    "Hello World"
  end
end

# You can now call methods directly on the class
MySingleton.hello  # => "Hello World"
Singleton.dup
VERSION =

Tins version

'1.44.1'
VERSION_ARRAY =

:nodoc:

VERSION.split('.').map(&:to_i)
VERSION_MAJOR =

:nodoc:

VERSION_ARRAY[0]
VERSION_MINOR =

:nodoc:

VERSION_ARRAY[1]
VERSION_BUILD =

:nodoc:

VERSION_ARRAY[2]
IRB =

We have our own IRB as well.

::IRB
Named =

A dynamically created module class used internally by the Object#named and Module#named methods to create dynamic methods.

This class inherits from Module and serves as a template for creating dynamically scoped methods that can be extended or included into objects or classes.

::Class.new(::Module)

Class Method Summary collapse

Class Method Details

.StringVersion(string) ⇒ Tins::StringVersion::Version

Creates a Version object directly from a string-like object

Parameters:

  • string (String)

    The version string

Returns:



278
279
280
# File 'lib/tins/string_version.rb', line 278

def self.StringVersion(string)
  StringVersion::Version.new(string.to_str)
end