(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(ruby-multi_json)} spids:[3])]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_gemname)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name pkgname>
                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(ruby-)})
                spids: [7 11]
              )
            }
          spids: [6]
        )
      ]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.12.2)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("A gem to provide easy switching between different JSON backends"))}
          spids: [19]
        )
      ]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://rubygems.org/gems/multi_json"))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[29])]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (custom))} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (ruby))} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/intridea/") ($ VSub_Name "$_gemname") (/archive/v) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [44]
        )
      ]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver"))}
          spids: [56]
        )
      ]
      spids: [56]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(default_prepare)})
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(sed)} {(-i)} {(SQ </spec.signing_key/d>)} {($ VSub_Name "$_gemname") (.gemspec)})
          ]
          spids: [70]
        )
      spids: [66 69]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(gem)} {(build)} {($ VSub_Name "$_gemname") (.gemspec)})
          ]
          spids: [102]
        )
      spids: [98 101]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gemdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$pkgdir") (/) 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(ruby)} {(-rubygems)} {(-e)} {(SQ <"puts Gem.default_dir">)})
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [135 145]
                        )
                      )
                    }
                  spids: [131]
                )
              ]
              spids: [129]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:geminstdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$gemdir") (/gems/) ($ VSub_Name "$_gemname") (-) 
                        ($ VSub_Name "$pkgver")
                      )
                    }
                  spids: [151]
                )
              ]
              spids: [149]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(gem)} {(install)} {(--local)} {(--install-dir)} {(DQ ($ VSub_Name "$gemdir"))} 
              {(--ignore-dependencies)} {(--no-document)} {(--verbose)} {($ VSub_Name "$_gemname")}
            )
            (C {(rm)} {(DQ ($ VSub_Name "$geminstdir")) (/) (Lit_Other "*") (.md)})
          ]
          spids: [126]
        )
      spids: [122 125]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"bbbdd05a6dd12052aa3e09389f47212f15799310d5c265057f7ca801622d32295d1f0844b37e51f8f1fd2d48e4430234f99bc6de4b9ed149e81d9a33a831e6d9  ruby-multi_json-1.12.2.tar.gz"
                )
              )
            }
          spids: [214]
        )
      ]
      spids: [214]
    )
  ]
)