Module: Solrengine::Tokens

Defined in:
lib/solrengine/tokens.rb,
lib/solrengine/tokens/engine.rb,
lib/solrengine/tokens/version.rb,
lib/solrengine/tokens/portfolio.rb,
lib/solrengine/tokens/nft_service.rb,
lib/solrengine/tokens/jupiter_client.rb,
app/models/solrengine/tokens/tokenizable.rb,
lib/solrengine/tokens/token_metadata_service.rb,
lib/generators/solrengine/tokens/install_generator.rb

Defined Under Namespace

Modules: Tokenizable Classes: ApiError, Engine, InstallGenerator, JupiterClient, NetworkError, NftService, Portfolio, TokenMetadataService

Constant Summary collapse

SOL_MINT =
"So11111111111111111111111111111111111111112"
SOLANA_ADDRESS_REGEX =
/\A[1-9A-HJ-NP-Za-km-z]{32,44}\z/
VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.cache_fetch(key, expires_in:) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/solrengine/tokens.rb', line 28

def self.cache_fetch(key, expires_in:)
  if defined?(Rails) && Rails.respond_to?(:cache)
    Rails.cache.fetch(key, expires_in: expires_in) { yield }
  else
    yield
  end
end

.token_classObject



20
21
22
# File 'lib/solrengine/tokens.rb', line 20

def self.token_class
  token_class_name.constantize
end

.valid_address?(address) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/solrengine/tokens.rb', line 24

def self.valid_address?(address)
  address.is_a?(String) && address.match?(SOLANA_ADDRESS_REGEX)
end