Module: SeisRuby::Data::Sac::Binary

Defined in:
lib/seis_ruby/data/sac/binary.rb

Defined Under Namespace

Modules: Head

Constant Summary collapse

EXT =
'.sac'

Class Method Summary collapse

Class Method Details

.dump(head, body) ⇒ Object



16
17
18
19
20
21
# File 'lib/seis_ruby/data/sac/binary.rb', line 16

def self.dump(head, body)
  (
    ::SeisRuby::Data::Sac::Head.convert_to_head(head)\
    + ::SeisRuby::Data::Sac::Body.body_for_dump(body, head))\
    .pack(::SeisRuby::Data::Sac::Binary::Head::FORMAT_STRING)
end

.parse(raw_data) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/seis_ruby/data/sac/binary.rb', line 6

def self.parse(raw_data)
  raw_data_array = raw_data.unpack(::SeisRuby::Data::Sac::Binary::Head::FORMAT_STRING)
  head = ::SeisRuby::Data::Sac::Head\
    .convert_from_head(raw_data_array[0...::SeisRuby::Data::Sac::Head::NAMES.size])
  body = ::SeisRuby::Data::Sac::Body\
    .shape_body(raw_data_array[head.size..-1], head)

  [head, body]
end

.uri_for_self?(uri) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/seis_ruby/data/sac/binary.rb', line 23

def self.uri_for_self?(uri)
  uri =~ /#{Regexp.escape(EXT)}\z/i
end