lib/nanook.rb in nanook-1.0.2 vs lib/nanook.rb in nanook-2.0.0
- old
+ new
@@ -17,55 +17,109 @@
#
# Nanook.new(timeout: 600)
# Nanook.new("http://ip6-localhost.com:7076", timeout: 600)
class Nanook
- # ==== Arguments
+ UNITS = [:raw, :nano]
+ DEFAULT_UNIT = :nano
+
+ # @return [Nanook::Rpc]
+ attr_reader :rpc
+
+ # @return [Symbol] the default unit for amounts to be in.
+ # will return {DEFAULT_UNIT} unless you define a new constant Nanook::UNIT
+ # (which must be one of {UNITS})
+ def self.default_unit
+ return DEFAULT_UNIT unless defined?(UNIT)
+
+ unless UNITS.include?(UNIT.to_sym)
+ raise Nanook::Error.new("UNIT #{UNIT} must be one of #{UNITS}")
+ end
+
+ UNIT.to_sym
+ end
+
+ # Returns a new instance of {Nanook}.
#
- # * +uri+ - RPC host to connect to (default is "http://localhost:7076")
- # * +timeout:+ - Connection timeout in number of seconds (default is 500)
- #
- # ==== Examples
- #
- # Nanook.new # Connect to http://localhost:7076 with 500s timeout
- #
+ # ==== Examples:
+ # Connecting to http://localhost:7076 with the default timeout of 600s:
+ # Nanook.new
+ # Setting a custom timeout:
# Nanook.new(timeout: 600)
+ # Connecting to a custom RPC host and setting a timeout:
# Nanook.new("http://ip6-localhost.com:7076", timeout: 600)
+ #
+ # @param uri [String] default is {Nanook::Rpc::DEFAULT_URI}. The RPC host to connect to
+ # @param timeout [Integer] default is {Nanook::Rpc::DEFAULT_TIMEOUT}. Connection timeout in number of seconds
def initialize(uri=Nanook::Rpc::DEFAULT_URI, timeout:Nanook::Rpc::DEFAULT_TIMEOUT)
@rpc = Nanook::Rpc.new(uri, timeout: timeout)
end
- ##
- # Returns a Nanook::Account instance.
+ # Returns a new instance of {Nanook::Account}.
#
- # nanook = Nanook.new
+ # ==== Example:
+ # account = Nanook.new.account("xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000")
#
- # account = nanook.account
- # account = nanook.account("xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000")
- def account(account=nil)
+ # @param account [String] the id of the account you want to work with
+ # @return [Nanook::Account]
+ def account(account)
Nanook::Account.new(@rpc, account)
end
- def block(block=nil)
+ # Returns a new instance of {Nanook::Block}.
+ #
+ # ==== Example:
+ # block = Nanook.new.block("FBF8B0E6623A31AB528EBD839EEAA91CAFD25C12294C46754E45FD017F7939EB")
+ #
+ # @param block [String] the id/hash of the block you want to work with
+ # @return [Nanook::Block]
+ def block(block)
Nanook::Block.new(@rpc, block)
end
- def inspect # :nodoc
+ # @return [String]
+ def inspect
"#{self.class.name}(rpc: #{@rpc.inspect}, object_id: \"#{"0x00%x" % (object_id << 1)}\")"
end
+ # Returns a new instance of {Nanook::Key}.
+ #
+ # ==== Example:
+ # key = Nanook.new.key("3068BB1CA04525BB0E416C485FE6A67FD52540227D267CC8B6E8DA958A7FA039")
+ #
+ # @param key [String] a private key
+ # @return [Nanook::Key]
def key(key=nil)
Nanook::Key.new(@rpc, key)
end
+ # Returns a new instance of {Nanook::Node}.
+ #
+ # ==== Example:
+ # node = Nanook.new.node
+ #
+ # @return [Nanook::Node]
def node
Nanook::Node.new(@rpc)
end
+ # Returns a new instance of {Nanook::Wallet}.
+ #
+ # ==== Example:
+ # wallet = Nanook.new.wallet("000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F")
+ #
+ # @param wallet [String] the id of the wallet you want to work with
+ # @return [Nanook::Wallet]
def wallet(wallet=nil)
Nanook::Wallet.new(@rpc, wallet)
end
+ # Returns a new instance of {Nanook::WorkPeer}.
+ #
+ # ==== Example:
+ # work_peers = Nanook.new.work_peers
+ #
+ # @return [Nanook::WorkPeer]
def work_peers
Nanook::WorkPeer.new(@rpc)
end
end