class Types
This is an internal utility class used to manage the GraphQL types, which are stored in an object dump called 'types.json'. The developers might want to use this class to CRUD their GraphQL application types. The scaffold generators will also use this class for the same purpose.
Constants
- BASIC
Public Class Methods
new()
click to toggle source
# File lib/surikat/types.rb, line 10 def initialize @filename = "#{FileUtils.pwd}/config/types.yml" @types = load end
Public Instance Methods
all()
click to toggle source
# File lib/surikat/types.rb, line 15 def all @types end
clear()
click to toggle source
# File lib/surikat/types.rb, line 30 def clear @types = {} save end
delete(type_name)
click to toggle source
# File lib/surikat/types.rb, line 24 def delete type_name raise "Type #{type_name} not found" unless @types.keys.include?(type_name) @types.delete type_name save end
merge(type)
click to toggle source
# File lib/surikat/types.rb, line 19 def merge type @types.merge! type save end
Private Instance Methods
load()
click to toggle source
# File lib/surikat/types.rb, line 36 def load return {} unless File.exists?(@filename) YAML.load_file @filename end
save()
click to toggle source
# File lib/surikat/types.rb, line 41 def save File.open(@filename, 'w') { |file| file.write(@types.to_yaml)} end