Class: ArtQ::Meta

Inherits:
Object
  • Object
show all
Defined in:
lib/artq/tokens.rb

Overview

check: change/rename to MetaToken or such - why? why not?

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data = {}, image_data = nil) ⇒ Meta

Returns a new instance of Meta.



38
39
40
41
42
# File 'lib/artq/tokens.rb', line 38

def initialize( data={},
                image_data=nil )
   @data       = data
   @image_data = image_data
end

Class Method Details

.parse(tokenURI) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/artq/tokens.rb', line 7

def self.parse( tokenURI )
 if tokenURI.start_with?( 'data:application/json;base64' )

   str = tokenURI.sub( 'data:application/json;base64', '' )
   str = Base64.decode64( str )
   data = JSON.parse( str )

   ## check for image_data - and replace if base64 encoded
   image_data     = data['image_data']
   svg_image_data = data['svg_image_data']

   if svg_image_data && svg_image_data.start_with?( 'data:image/svg+xml;base64' )
     data['svg_image_data'] = '...'
     data['image_data'] = '...'   if image_data
     ## note:  prefer svg_image_data if present over image_data - why? why not?
     str = svg_image_data.sub( 'data:image/svg+xml;base64', '' )
     image_data = Base64.decode64( str )
   elsif image_data && image_data.start_with?( 'data:image/svg+xml;base64' )
     data['image_data'] = '...'
     str = image_data.sub( 'data:image/svg+xml;base64', '' )
     image_data = Base64.decode64( str )
   else
     ## assume no inline image_data ??
   end

   new( data, image_data )
 else
   new   ## use new({},nil) - why? why not?
 end
end

Instance Method Details

#dataObject



44
# File 'lib/artq/tokens.rb', line 44

def data()       @data; end

#image_dataObject



45
# File 'lib/artq/tokens.rb', line 45

def image_data() @image_data; end