(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_gemname) op:Equal rhs:{(shoulda-matchers)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(ruby-shoulda-matchers)}
          spids: [9]
        )
      ]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.3.0)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Making tests easy on the fingers and eyes"))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/thoughtbot/shoulda"))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ ("ruby ruby-activesupport"))}
          spids: [38]
        )
      ]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[43])]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ (ruby-dev))} spids:[47])]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[52])]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[56])]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://rubygems.org/downloads/") ($ VSub_Name "$_gemname") (-) 
                ($ VSub_Name "$pkgver") (.gem)
              )
            }
          spids: [60]
        )
      ]
      spids: [60]
    )
    (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: [70]
        )
      ]
      spids: [70]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$_builddir"))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_gemdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(ruby)} {(-rubygems)} {(-e) (SQ <"puts Gem.default_dir">)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [105 114]
                        )
                      )
                    }
                  spids: [103]
                )
              ]
              spids: [101]
            )
            (AndOr
              children: [
                (C {(gem)} {(install)} {($ VSub_Name "$_gemname")} {(-v)} {($ VSub_Name "$pkgver")} {(-i)} 
                  {(DQ ($ VSub_Name "$_builddir")) ($ VSub_Name "$_gemdir")} {(--ignore-dependencies)} {(--verbose)} {(--no-rdoc)} {(--no-ri)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_gemdir") (/cache)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_geminstdir") (/ext)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_geminstdir") (/.require_paths)}
            )
          ]
          spids: [83]
        )
      spids: [79 82]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(cp)} {(-ra)} {(DQ ($ VSub_Name "$_builddir")) (/) (Lit_Other "*")} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [196]
        )
      spids: [192 195]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("1e744b07ff43eee61b060f3d3d4d8e82  shoulda-matchers-2.3.0.gem"))}
          spids: [238]
        )
      ]
      spids: [238]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"90b4419b54b272148f388a90f7f9f29181e3b8b694190491a3a301cab7a67e25  shoulda-matchers-2.3.0.gem"
                )
              )
            }
          spids: [243]
        )
      ]
      spids: [243]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"cde2da35fbc9125541461d24cff573656dad3b1d320a30aeabf9a837599abc529a97264679e320e5000259e3a5d1892cea9119017f9c82d6a54f5f5c081748fe  shoulda-matchers-2.3.0.gem"
                )
              )
            }
          spids: [248]
        )
      ]
      spids: [248]
    )
  ]
)