Class: Helper

Inherits:
Object
  • Object
show all
Defined in:
lib/meshx-plugin-sdk.rb

Class Method Summary collapse

Class Method Details

.get_env(name, default) ⇒ Object



77
78
79
80
81
82
# File 'lib/meshx-plugin-sdk.rb', line 77

def self.get_env(name, default)
  if "#{ENV[name]}" == ""
    return default
  end
  return ENV[name]
end

.get_env_or_fail(name) ⇒ Object



84
85
86
87
88
89
90
91
# File 'lib/meshx-plugin-sdk.rb', line 84

def self.get_env_or_fail(name)
  val = Helper.get_env(name, "")
  if val == ""
    puts("expected environment variable not set: #{name}")
    exit(1)
  end
  return val
end

.make_events_hash(b64event) ⇒ Object



100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/meshx-plugin-sdk.rb', line 100

def self.make_events_hash(b64event)
  if "#{b64event}" == ""
    puts("missing event data")
    exit(1)
  end
  events = Base64.decode64(b64event)

  if Helper.valid_json?(events) == false
    puts("invalid event data")
    exit(1)
  end
  eventsHash = JSON.parse(events)
  return eventsHash
end

.run(cmd, chdir = File.dirname(__FILE__)) ⇒ Object



67
68
69
70
71
72
73
74
75
# File 'lib/meshx-plugin-sdk.rb', line 67

def self.run(cmd, chdir = File.dirname(__FILE__))
  puts("run: #{cmd}")
  Utils::Subprocess.new cmd do |stdout, stderr, thread|
    puts "\t#{stdout}"
    if (stderr.nil? == false)
      puts "\t#{stderr}"
    end
  end
end

.valid_json?(json) ⇒ Boolean



93
94
95
96
97
98
# File 'lib/meshx-plugin-sdk.rb', line 93

def self.valid_json?(json)
  JSON.parse(json)
  true
rescue JSON::ParserError, TypeError => e
  false
end